By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,396 Members | 2,501 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,396 IT Pros & Developers. It's quick & easy.

sorting in data grid run-time error: Cannot find table 0.

P: n/a
I am trying to implement the sort event in data grid. I set the data grid's
AllowSorting property = True. I implement the following code that should be
the event will fire when the user click any of the columns in the table:

Private Sub dgReport1_SortCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridSortCommandEvent Args) Handles
dgReport1.SortCommand
Dim sortOrder As String = e.SortExpression.ToString()
Response.Write(sortOrder)
Dim ds As New DataSet
Dim dt As DataTable = ds.Tables(0)
dt.DefaultView.Sort = sortOrder
dgReport1.DataSource = ds.Tables(0).DefaultView
dgReport1.DataBind()
End Sub
When I click any of the columns in the table, it throw the following run
time error on line: Dim dt As DataTable = ds.Tables(0).

Run-time error
============
Cannot find table 0.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.IndexOutOfRangeException: Cannot find table 0.
I have no idea why table 0 has problem. Because I am able to get the table
as folows:

Dim dt As DataTable = ds.Tables(0)
dgReport1.DataSource = dt
dgReport1.DataBind()

Please advise! Thanks !!

Nov 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Sure. But does the DataTable exist when you return to the form to sort it? I
doubt it. The DataTable is not persisted between invocations unless you
persist it. One approach is to save it to the Session state. When you return
on Postback, you'll need to rehydrate it.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
MVP, hRD
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________

"Matthew Louden" <ma*******@hotmail.com> wrote in message
news:%2******************@tk2msftngp13.phx.gbl...
I am trying to implement the sort event in data grid. I set the data grid's AllowSorting property = True. I implement the following code that should be the event will fire when the user click any of the columns in the table:

Private Sub dgReport1_SortCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridSortCommandEvent Args) Handles
dgReport1.SortCommand
Dim sortOrder As String = e.SortExpression.ToString()
Response.Write(sortOrder)
Dim ds As New DataSet
Dim dt As DataTable = ds.Tables(0)
dt.DefaultView.Sort = sortOrder
dgReport1.DataSource = ds.Tables(0).DefaultView
dgReport1.DataBind()
End Sub
When I click any of the columns in the table, it throw the following run
time error on line: Dim dt As DataTable = ds.Tables(0).

Run-time error
============
Cannot find table 0.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.IndexOutOfRangeException: Cannot find table 0.
I have no idea why table 0 has problem. Because I am able to get the table
as folows:

Dim dt As DataTable = ds.Tables(0)
dgReport1.DataSource = dt
dgReport1.DataBind()

Please advise! Thanks !!

Nov 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.