dataGrid更新事件UpdateCommand()
<Columns>
<asp:TemplateColumn Visible="False" HeaderText="id">
<HeaderStyle Width="30%"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lblID" Text="<%# Container.DataItem(0) %>" Runat="server">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="所属区" SortExpression="district">
<HeaderStyle Width="30%"></HeaderStyle>
<ItemTemplate>
<asp:Label id=lblDistrict Text="<%# Container.DataItem(1) %>" Runat="server">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=txtDistrict Text="<%# Container.DataItem(1) %>" Runat="server">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="name" HeaderText="名称">
<HeaderStyle Width="40%"></HeaderStyle>
<ItemTemplate>
<asp:Label ID="lblName" Runat="server" Text='<%# Container.DataItem(2) %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtName" Runat="server" Text='<%# Container.DataItem(2) %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="修改">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="<div onclick="return confirm('您真的要删除该条信息吗?')">删除</div>" CommandName="Delete">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
上面是dataGrid里的列,id列是隐藏的,所属区和名称是可以修改的列,现在修改完后点击“更新”按钮,获得的textBox值仍然是修改前所绑定的值。UpdateCommand()事件如下:
Private Sub dbGridfwt_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dbGridfwt.UpdateCommand
Dim s_id As String
Dim strSql, sName, sDistrict As String
Dim resultID As Integer
s_id = CType(e.Item.Cells(0).Controls(1), Label).Text
sDistrict = CType(e.Item.Cells(1).Controls(1), TextBox).Text
sName = CType(e.Item.Cells(2).Controls(1), TextBox).Text
If Trim(sDistrict) = "" Or Trim(sName) = "" Then
Exit Sub
End If
………………
dbGridfwt.EditItemIndex = -1
dbGridfwt.DataBind()
End Sub
如何才能获得输入的新值呢??