Solved

Make GridView display data horizontaly instead of vertically

Posted on 2008-10-01
8
1,010 Views
Last Modified: 2013-11-26
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
0
Comment
Question by:Gudorian
  • 4
  • 3
8 Comments
 
LVL 13

Expert Comment

by:SameerJagdale
Comment Utility
not sure if this is going to help you but have you tried detailsview?
0
 
LVL 2

Author Comment

by:Gudorian
Comment Utility
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.
0
 
LVL 13

Accepted Solution

by:
SameerJagdale earned 500 total points
Comment Utility
check out  DataList control which has RepeatColumn and RepeatDirection properties:
You can specify the RepeatDirection which equals Vertical/Horizontal

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/datalist.aspx
 
0
 
LVL 20

Expert Comment

by:informaniac
Comment Utility
SQL Reporting might help, but that's a long shot...

0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 2

Author Comment

by:Gudorian
Comment Utility
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.
0
 
LVL 13

Expert Comment

by:SameerJagdale
Comment Utility
check out  DataList control which has RepeatColumn and RepeatDirection properties
you will not find it in dataview.
0
 
LVL 2

Author Comment

by:Gudorian
Comment Utility
Ah, I got it, was trying to apply it on a DetailsView. Thanks for the help
0
 
LVL 2

Author Closing Comment

by:Gudorian
Comment Utility
thx
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now