GlobaLevel
asked on
asp.net - issue with onrowdataboun=".." causes only only 1 row to pull when there are many rows to pull
Whne I add this to the gridview...
onrowdatabound="GridView1_ RowDataBou nd"
it only pulls 1 row..
when I delete it form the gridview..it pulls all rows...rather odd...
onrowdatabound="GridView1_
it only pulls 1 row..
when I delete it form the gridview..it pulls all rows...rather odd...
Protected Sub GridView1_RowDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Try
If e.Row.RowType = DataControlRowType.DataRow Then
Dim itemId As String = Me.GridView1.DataKeys(i).Value
Dim hf As HiddenField = CType(e.Row.FindControl("HF_itemId"), HiddenField)
hf.Value = itemId
Session("Game_id" & i) = hf.Value
i = i + 1
End If
Catch ex As Exception
Throw ex
End Try
End Sub
' ====
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Game_Id"
CellPadding="4" ForeColor="#333333" onrowdatabound="GridView1_RowDataBound" onrowupdated="chkD2Status_CheckedChanged"
AllowPaging="True" AllowSorting="True" Height="200px" Width="900px"
Font-Size="Small" style="margin-right: 57px">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="Game_Time" HeaderText="Game Time" ReadOnly="True"
SortExpression="Game_Time" />
<asp:TemplateField HeaderText="Away Team/Home Team">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"home_team") %>' CssClass="MakePicks_col_2_sec_1" ></asp:Label>
<asp:Label ID="Label6" runat="server" Text="@" Font-Bold="True" CssClass="MakePicks_col_2_sec_2" ></asp:Label>
<b>
<asp:Label ID="Label7" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"away_team") %>' CssClass="MakePicks_col_2_sec_3" ></asp:Label>
</b>
<br />
<b>
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"home_team_spread") %>' CssClass="MakePicks_col_2_sec_1"></asp:CheckBox>
<asp:CheckBox ID="CheckBox2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"away_team_spread") %>' CssClass="MakePicks_col_2_sec_3"></asp:CheckBox>
<br />
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
What you see when you debug? Put breakpoint on rowdatabound method and see if it loops thru all the datatable rows or what happens exactly.
>>>It is looping thru the onRowDataBound event...but it throws an error:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
>>>It is looping thru the onRowDataBound event...but it throws an error:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Why you catch the exception to just rethrow it? This is a bad practice.
What about loggin the exception? At least, use Debug.Write(ex)