HighTechTalks DotNet Forums  

GridView is making two of each column

ASP.net Data Grid Control microsoft.public.dotnet.framework.aspnet.datagridcontrol


Discuss GridView is making two of each column in the ASP.net Data Grid Control forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Nathan Sokalski
 
Posts: n/a

Default GridView is making two of each column - 11-14-2007 , 12:57 PM






I have a GridView control with three columns, all BoundField columns. They
all have a HeaderText and DataField property set, and the third one has a
DataFormatString property as well. When I run my code, the GridView displays
two sets of columns. The first set looks exactly as I would expect. The
second set, which should not be there anyway, uses the DataField as the
header and does not apply the DataFormatString for the third column. What is
going on here? Here is my GridView control:

<asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true">
<Columns>
<asp:BoundField HeaderText="Products" DataField="prodname"/>
<asp:BoundField HeaderText="Brand" DataField="brandname"/>
<asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/>
</Columns>
</asp:GridView>

The Load event for the GridView is as follows:

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER JOIN
brands ON prodbrand=brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

If anybody has any idea why this is happening, I would appreciate the help.
Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/



Reply With Quote
  #2  
Old   
Barrie Wilson
 
Posts: n/a

Default Re: GridView is making two of each column - 11-14-2007 , 01:31 PM







don't forget the last attribute here:

<aspataGrid ID="DefaultGrid" Runat="server" AutoGenerateColumns=False>



"Nathan Sokalski" <njsokalski (AT) hotmail (DOT) com> wrote

Quote:
I have a GridView control with three columns, all BoundField columns. They
all have a HeaderText and DataField property set, and the third one has a
DataFormatString property as well. When I run my code, the GridView
displays two sets of columns. The first set looks exactly as I would
expect. The second set, which should not be there anyway, uses the
DataField as the header and does not apply the DataFormatString for the
third column. What is going on here? Here is my GridView control:

asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true"
Columns
asp:BoundField HeaderText="Products" DataField="prodname"/
asp:BoundField HeaderText="Brand" DataField="brandname"/
asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/
/Columns
/asp:GridView

The Load event for the GridView is as follows:

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER
JOIN brands ON prodbrand=brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

If anybody has any idea why this is happening, I would appreciate the
help. Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/




Reply With Quote
  #3  
Old   
Nathan Sokalski
 
Posts: n/a

Default Re: GridView is making two of each column - 11-14-2007 , 02:30 PM



My sorting also isn't working. I looked at the generated code, and it looks
correct. Here is the code for my GridView and the databinding:

<asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="Products" DataField="prodname"
SortExpression="products.prodname"/>
<asp:BoundField HeaderText="Brand" DataField="brandname"
SortExpression="brands.brandname"/>
<asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/>
</Columns>
</asp:GridView>

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER JOIN
brands ON products.prodbrand=brands.brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

Am I also forgetting some simple little thing for the sorting? I have the
AllowSorting="true" and the SortExpression property for the columns that I
need to be sortable. Is there something else I need? Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/

"Barrie Wilson" <bwilson (AT) nowhere (DOT) com> wrote

Quote:
don't forget the last attribute here:

aspataGrid ID="DefaultGrid" Runat="server" AutoGenerateColumns=False



"Nathan Sokalski" <njsokalski (AT) hotmail (DOT) com> wrote in message
news:e71mLfuJIHA.4472 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
I have a GridView control with three columns, all BoundField columns. They
all have a HeaderText and DataField property set, and the third one has a
DataFormatString property as well. When I run my code, the GridView
displays two sets of columns. The first set looks exactly as I would
expect. The second set, which should not be there anyway, uses the
DataField as the header and does not apply the DataFormatString for the
third column. What is going on here? Here is my GridView control:

asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true"
Columns
asp:BoundField HeaderText="Products" DataField="prodname"/
asp:BoundField HeaderText="Brand" DataField="brandname"/
asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/
/Columns
/asp:GridView

The Load event for the GridView is as follows:

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER
JOIN brands ON prodbrand=brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

If anybody has any idea why this is happening, I would appreciate the
help. Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/






Reply With Quote
  #4  
Old   
Teemu Keiski
 
Posts: n/a

Default Re: GridView is making two of each column - 11-18-2007 , 10:36 AM



Code in Page_Load would need to be inside If Not Page.IsPostBack Then check
so that it won't prevent postback events (such as Sorting event) from
working.


--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net

"Nathan Sokalski" <njsokalski (AT) hotmail (DOT) com> wrote

Quote:
My sorting also isn't working. I looked at the generated code, and it
looks correct. Here is the code for my GridView and the databinding:

asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true" AutoGenerateColumns="false"
Columns
asp:BoundField HeaderText="Products" DataField="prodname"
SortExpression="products.prodname"/
asp:BoundField HeaderText="Brand" DataField="brandname"
SortExpression="brands.brandname"/
asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/
/Columns
/asp:GridView

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER
JOIN brands ON products.prodbrand=brands.brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

Am I also forgetting some simple little thing for the sorting? I have the
AllowSorting="true" and the SortExpression property for the columns that I
need to be sortable. Is there something else I need? Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/

"Barrie Wilson" <bwilson (AT) nowhere (DOT) com> wrote in message
news:13jmfnrpqrp1270 (AT) corp (DOT) supernews.com...

don't forget the last attribute here:

aspataGrid ID="DefaultGrid" Runat="server" AutoGenerateColumns=False



"Nathan Sokalski" <njsokalski (AT) hotmail (DOT) com> wrote in message
news:e71mLfuJIHA.4472 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
I have a GridView control with three columns, all BoundField columns.
They all have a HeaderText and DataField property set, and the third one
has a DataFormatString property as well. When I run my code, the GridView
displays two sets of columns. The first set looks exactly as I would
expect. The second set, which should not be there anyway, uses the
DataField as the header and does not apply the DataFormatString for the
third column. What is going on here? Here is my GridView control:

asp:GridView ID="grdGifts" runat="server" PageSize="15"
PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="Next 15
Products" PagerSettings-Position="Bottom"
PagerSettings-PreviousPageText="Previous 15 Products"
EnableSortingAndPagingCallbacks="true" AllowPaging="true"
AllowSorting="true"
Columns
asp:BoundField HeaderText="Products" DataField="prodname"/
asp:BoundField HeaderText="Brand" DataField="brandname"/
asp:BoundField HeaderText="Action" DataField="prodid"
DataFormatString="[&nbsp;<a
href='edit_product.asp?prodid={0}'>Edit</a>&nbsp;/&nbsp;<a
href='delete_product.asp?prodid={0}'>Delete</a>&nbsp;]"/
/Columns
/asp:GridView

The Load event for the GridView is as follows:

Private Sub grdGifts_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles grdGifts.Load
Dim myconnection As New
SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings("connectionstring"))
Dim gifts As New DataTable
Dim giftadapter As New SqlDataAdapter("SELECT
products.prodname,brands.brandname,products.prodid FROM products INNER
JOIN brands ON prodbrand=brandid", myconnection)
giftadapter.Fill(gifts)
Me.grdGifts.DataSource = gifts
Me.grdGifts.DataBind()
End Sub

If anybody has any idea why this is happening, I would appreciate the
help. Thanks.
--
Nathan Sokalski
njsokalski (AT) hotmail (DOT) com
http://www.nathansokalski.com/








Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.