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
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
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)