Nu ger jag upp...GridViewEdit
Försöker få RowEditEvent i en GridView att fungera.
Jag försöker hitta en texbox med findcontrol men det bara vill sig inte. Jag får felkoden 'Object reference not set to an instance of an object.' när jag försöker sätta text i textboxen. Försöker även hämta värdet från cellen men det går inte heller fast jag plankat Microsofts exempel.
Jag gör samma sak med updateeventet och det fungerar.
Min kod ser ut som följer först början på gridden sedan själva koden.
Någon som kan ge ett tips?
/Classe
Min GridView:
<asp:GridView runat="server" ID="Grid1" AutoGenerateColumns="false" DataSourceID="SqlData" AllowSorting="true" DataKeyNames="lnum" AlternatingRowStyle-BackColor="#f2f2f2"
BorderStyle="None" OnRowUpdating="Grid1_updating">
<Columns>
<asp:TemplateField SortExpression="Datum" HeaderStyle-CssClass="mil_ListHeader" HeaderText="Datum" ItemStyle-CssClass="mil_ListItem" >
<ItemTemplate>
<%#FormatDateTime(DataBinder.Eval(Container.DataItem, "Date"), DateFormat.ShortDate)%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="Textbox1" runat="server" CssClass="mil_ListItem" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem, "Date"), DateFormat.ShortDate) %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="Fritext" HeaderStyle-CssClass="mil_ListHeader" HeaderText="Text" ItemStyle-CssClass="mil_ListItem" >
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Fritext")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="Textbox2" runat="server" CssClass="mil_ListItem" Text='<%# DataBinder.Eval(Container.DataItem, "Fritext") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="Summa" HeaderStyle-CssClass="mil_ListHeader" HeaderText="Summa" ItemStyle-CssClass="mil_ListItem">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Summa")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox3" CssClass="mil_ListItem" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Summa") %>' />
</EditItemTemplate>
</asp:TemplateField>
-------------------------------------------------------------------------------------------------------
Min kod:
Protected Sub EditRow_Click(ByVal sender As Object, ByVal e As GridViewEditEventArgs) Handles Grid1.RowEditing
Dim row As GridViewRow = DirectCast(sender, GridView).Rows(e.NewEditIndex)
Dim _Textbox As TextBox = CType(row.FindControl("Textbox1"), TextBox)
_Textbox.Text = "Kalle"
Dim myText As String
myText = row.Cells(1).Text
end sub
************************
Löste problemet genom att ansluta en SQLDatasource för att fylla DropDownen, sedan fick onDatabound eventet kalla på en sub för att göea en SelectValue.