Allora ho parzialmente risolto convertendo il mio arraylist in DataTable, ora il problema è che cliccando su modifica, non si apre l'item giusto, mi sai spiegare il perchè?
codice aspx:
<asp:GridView ID="GridView1" runat="server" ShowFooter="True" AutoGenerateColumns="False" DataKeyNames="id" >
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<%#Eval("name").ToString%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtEditName" size="6" runat="server" Text='<%#Eval("name").ToString%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age">
<ItemTemplate>
<%#Eval("age").ToString%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtEditAge" size="6" runat="server" Text='<%#Eval("age").ToString%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id="txtAddNome" size="10" runat="server"></asp:TextBox>
<asp:TextBox id="TextBox1" size="10" runat="server"></asp:TextBox>
<asp:Button id="btnAdd" runat="server" Text="Aggiungi" CommandName="Add"></asp:Button>
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" UpdateText="Modifica" HeaderText="Modifica" />
<asp:CommandField ShowDeleteButton="true" DeleteText="Elimina" HeaderText="Elimina" />
</Columns>
</asp:GridView>
codice Vb:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim arrList As ArrayList = New ArrayList()
Dim dt As New DataTable()
Dim intCnt As Integer = 0
dt.Columns.Add(New DataColumn("Name", System.Type.GetType("System.String")))
dt.Columns.Add(New DataColumn("Age", System.Type.GetType("System.String")))
dt.Columns.Add(New DataColumn("id", System.Type.GetType("System.String")))
arrList.Add(New String() {"Jacob", "34", "0"})
arrList.Add(New String() {"Hima", "28", "1"})
arrList.Add(New String() {"Vamshi", "34", "2"})
arrList.Add(New String() {"Pinal", "30", "3"})
For Each item As Object In arrList
Dim dr As DataRow
Dim arrItem As String() = DirectCast(item, String())
dr = dt.NewRow()
dr("Name") = arrItem(0)
dr("Age") = arrItem(1)
dr("Id") = arrItem(2)
dt.Rows.Add(dr)
Next
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
GridView1.EditIndex = e.NewEditIndex
GridView1.ShowFooter = False
End Sub