G
Guest
Hi,
I keep getting the following error in my code:
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: index
I presume it is because I have the wrong control number but am not 100% sure! How do I work this out?
Thanks
...::CODE::..
Sub DGPages_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
' First, make sure we're NOT dealing with a Header or Footer row
If e.Item.ItemType <> ListItemType.Header And _
e.Item.ItemType <> ListItemType.Footer Then
'Now, reference the LinkButton control that the Delete ButtonColumn
'has been rendered to
Dim deleteButton As LinkButton = e.Item.Cells(0).Controls(0) ' Error
'We can now add the onclick event handler
deleteButton.Attributes("onclick") = "javascript:return " & _
"confirm('Are you sure you want to delete Page #" & _
DataBinder.Eval(e.Item.DataItem, "ID") & "?')"
End If
End Sub
...::
<asp:datagrid id="DGPages" runat="server"
HeaderStyle-Font-Bold="True"
HeaderStyle-HorizontalAlign="Center"
HeaderStyle-ForeColor="White"
HeaderStyle-BackColor="Black"
EditItemStyle-BackColor="#eeeeee"
CellPadding="4"
Width="90%"
AutoGenerateColumns="False"
DataKeyField="pageID"
OnItemDataBound="DGPages_ItemDataBound"
OnEditCommand="DGPages_Edit"
OnUpdateCommand="DGPages_Update"
OnCancelCommand="DGPages_Cancel"
OnDeleteCommand="DGPages_Delete">
<Columns>
<asp:BoundColumn DataField="pageID" ReadOnly="True" HeaderText="ID">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="modificationDate" HeaderText="Date Modified" DataFormatString="{0:MM/dd/yyyy}">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="description" HeaderText="Description">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="header" HeaderText="Title">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
<asp:ButtonColumn Text="Delete" CommandName="Delete" ButtonType="LinkButton"></asp:ButtonColumn>
</Columns>
</asp:datagrid>
I keep getting the following error in my code:
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: index
I presume it is because I have the wrong control number but am not 100% sure! How do I work this out?
Thanks
...::CODE::..
Sub DGPages_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
' First, make sure we're NOT dealing with a Header or Footer row
If e.Item.ItemType <> ListItemType.Header And _
e.Item.ItemType <> ListItemType.Footer Then
'Now, reference the LinkButton control that the Delete ButtonColumn
'has been rendered to
Dim deleteButton As LinkButton = e.Item.Cells(0).Controls(0) ' Error
'We can now add the onclick event handler
deleteButton.Attributes("onclick") = "javascript:return " & _
"confirm('Are you sure you want to delete Page #" & _
DataBinder.Eval(e.Item.DataItem, "ID") & "?')"
End If
End Sub
...::
<asp:datagrid id="DGPages" runat="server"
HeaderStyle-Font-Bold="True"
HeaderStyle-HorizontalAlign="Center"
HeaderStyle-ForeColor="White"
HeaderStyle-BackColor="Black"
EditItemStyle-BackColor="#eeeeee"
CellPadding="4"
Width="90%"
AutoGenerateColumns="False"
DataKeyField="pageID"
OnItemDataBound="DGPages_ItemDataBound"
OnEditCommand="DGPages_Edit"
OnUpdateCommand="DGPages_Update"
OnCancelCommand="DGPages_Cancel"
OnDeleteCommand="DGPages_Delete">
<Columns>
<asp:BoundColumn DataField="pageID" ReadOnly="True" HeaderText="ID">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="modificationDate" HeaderText="Date Modified" DataFormatString="{0:MM/dd/yyyy}">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="description" HeaderText="Description">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="header" HeaderText="Title">
<ItemStyle CssClass="txtArea"></ItemStyle>
</asp:BoundColumn>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
<asp:ButtonColumn Text="Delete" CommandName="Delete" ButtonType="LinkButton"></asp:ButtonColumn>
</Columns>
</asp:datagrid>