|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Gridview sorting event - Gridview Datasource always Null .. why???particular field and the below event is fired, but DataTable is Null so code is skipped. The GridView: <asp:GridView ID="ChargeGridView" runat="server" AutoGenerateColumns="False" DataKeyNames="RouteCode" Width="700px" SkinID="GridView" AllowPaging="True" AllowSorting="true" OnSorting="ChargeGridView_Sorting" ShowFooter="true" PagerSettings-Mode="NumericFirstLast"> Protected Sub ChargeGridView_Sorting(ByVal sender As Object, ByVal e As GridViewSortEventArgs) Dim dataTable As DataTable = CType(ChargeGridView.DataSource, DataTable) If Not (dataTable Is Nothing) Then '****** (THIS IS ALWAYS FALSE) **** Dim dataView As DataView = New DataView(dataTable) dataView.Sort = e.SortExpression + " " + e.SortDirection Response.Write(e.SortExpression + " " + e.SortDirection) ChargeGridView.DataSource = dataView ChargeGridView.DataBind() End If End Sub Thanks. jobs wrote:
Show quoteHide quote > The Grid displays with multiple rows. I select a column to sort of a Hi> particular field and the below event is fired, but DataTable is Null so > code is skipped. > > > The GridView: > > <asp:GridView ID="ChargeGridView" runat="server" > AutoGenerateColumns="False" DataKeyNames="RouteCode" > Width="700px" SkinID="GridView" > AllowPaging="True" AllowSorting="true" > OnSorting="ChargeGridView_Sorting" ShowFooter="true" > PagerSettings-Mode="NumericFirstLast"> > > > Protected Sub ChargeGridView_Sorting(ByVal sender As Object, ByVal e > As GridViewSortEventArgs) > If Not (dataTable Is Nothing) Then '****** (THIS IS ALWAYS > FALSE) **** > Dim dataView As DataView = New DataView(dataTable) > dataView.Sort = e.SortExpression + " " + e.SortDirection > Response.Write(e.SortExpression + " " + e.SortDirection) > ChargeGridView.DataSource = dataView > ChargeGridView.DataBind() > End If > End Sub > > Thanks. The first thing I would question is this line: > Dim dataTable As DataTable = CType(ChargeGridView.DataSource, I notice you set the DataSource property to something substantial> DataTable) further down. But what value or type of object will ChargeGridView.DataSource be in the line I quote? Does it exist at that point? I'm afraid I'm also moved to comment on your coding style. Remember VB is not case sensitive. Therefore dataTable and DataTable are treated as the same. Not a good idea to use type identifiers as variable names. Phil Hall Hi, I afraid that this line
Dim dataTable As DataTable = CType(ChargeGridView.DataSource, DataTable) might not be working because the DataSource property of ChargeGridView would be null after the postback since it is not persisted in ViewState. Try to use Cache() or Session() to retain the DataSource as described in my blog at http://alvinzc.blogspot.com/2006/10/tips-and-tricks-on-cloning-data-bound.html. Hope this helps...
Need button control that...
auto-size textbox 3 step wizard - ignore last step Can't duplicate ID in subclassed GridView menu question WebParts & Highend Portals Anyone have APP_LocalResources resx files for the MS controls... all bitmap button in grid? how to validate input of a detailsview? My own control - exception in Design view |
|||||||||||||||||||||||