Link to home
Create AccountLog in
.NET Programming

.NET Programming

--

Questions

--

Followers

Top Experts

Avatar of Gudorian
Gudorian🇸🇪

Make GridView display data horizontaly instead of vertically
Hi,

I want to make a GridView display data horizontaly instead of vertically. Normally if the column names are is what the header should be it would be right as it is, but in my case the column names is in one table and the values in another table.

I've attached a image that shows how I want it to be displayed and how it looks like now, and also the structure of the tables in the Database.

The SQL Query looks like this:

---------------------------------------------------------

SELECT p.name, a.val

FROM [ARTIKEL_Details] a

LEFT OUTER JOIN ARTIKEL_Fields p

ON a.id_field = p.id_field

WHERE a.ARTNR = @ArtGet

---------------------------------------------------------

I have a queryString from that's linked from another page with the Article number like this:

- article.aspx?artnr=[ArticleNumber]

Have attached the code to the page so you could look on.

So, is there a way of doing this with the grid view or any other way?

The reason I want to do it this way is becouse the table with the column names (ARTIKEL_Field) have about 480 values, and having all values doesn't have a value in ARTIKEL_Details.

And a table with 480 Columns wouldn't be any good at all.

Hope you getting the idea of what I'm trying to do and please ask if there's any questions.

// Tobias
//article.aspx
 
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="article.aspx.cs" Inherits="article" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <style type="text/css">
    .style1
    {
        text-decoration: underline;
    }
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentHolder" Runat="Server">
    <p>
        <span class="style1">Visar Artikel</span><b>
        <asp:Label ID="ArticleLabel" runat="server" Text="[Artnr]"></asp:Label>
        </b>
     </p>
    <p>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            CellPadding="4" DataSourceID="ViewArticle" ForeColor="#333333" 
            GridLines="None" AllowSorting="True">
            <RowStyle BackColor="#EFF3FB" />
            <Columns>
                <asp:BoundField DataField="name" HeaderText="Fält" SortExpression="name" >
                <ControlStyle Font-Bold="True" />
                <ItemStyle Font-Bold="True" HorizontalAlign="Right" />
                </asp:BoundField>
                <asp:BoundField DataField="val" HeaderText="Värde" SortExpression="val" />
            </Columns>
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:SqlDataSource ID="ViewArticle" runat="server" 
            ConnectionString="<%$ ConnectionStrings:DuellsCM5ConnectionString %>" SelectCommand="SELECT p.name, a.val 
 
FROM [ARTIKEL_Details] a 
 
LEFT OUTER JOIN ARTIKEL_Fields p
 
ON a.id_field = p.id_field
 
WHERE a.ARTNR = @ArtGet">
            <SelectParameters>
                <asp:QueryStringParameter ConvertEmptyStringToNull="False" Name="ArtGet" 
                    QueryStringField="artnr" Size="50" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
    </p>
</asp:Content>
 
//article.aspx.cs
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
public partial class article : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        String artnr = Request.QueryString["artnr"].ToString();
        ArticleLabel.Text = artnr;
    }
}

Open in new window

gridView.jpg

Zero AI Policy

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of SameerJagdaleSameerJagdale🇺🇸

not sure if this is going to help you but have you tried detailsview?

Avatar of GudorianGudorian🇸🇪

ASKER

Did test it out, the problem there was it put the data Like this

----------------------------------------------------
              Fält | Benämning ESS  
----------------------------------------------------
Beskrivning | Handtag ATV gummi svart/grå
----------------------------------------------------

Only one value was shown in the results.

ASKER CERTIFIED SOLUTION
Avatar of SameerJagdaleSameerJagdale🇺🇸

Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.
Create Account

Avatar of Obadiah ChristopherObadiah Christopher🇮🇳

SQL Reporting might help, but that's a long shot...


Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of GudorianGudorian🇸🇪

ASKER

It says there you could use "RepeatDirection" and "RepeatColumns", but I don't get how to apply it to the DataView.

Is it also possible to make the data From the "ARTIKEL_Field" table to be show at the top

and then add multiple rows from "ARTIKEL_Details" beneth it?

I may have to do this later.

check out  DataList control which has RepeatColumn and RepeatDirection properties
you will not find it in dataview.

Avatar of GudorianGudorian🇸🇪

ASKER

Ah, I got it, was trying to apply it on a DetailsView. Thanks for the help

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of GudorianGudorian🇸🇪

ASKER

thx
.NET Programming

.NET Programming

--

Questions

--

Followers

Top Experts

The .NET Framework is not specific to any one programming language; rather, it includes a library of functions that allows developers to rapidly build applications. Several supported languages include C#, VB.NET, C++ or ASP.NET.