说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于datagrid 修改数据的问题,帮我看看,多谢

编辑:说三道四文库 发布时间:2018-07-17 09:56
HTML文档下载 WORD文档下载 PDF文档下载
我的datagrid的html代码是:
<asp:datagrid id="DataGrid2" style="Z-INDEX: 101; LEFT: 184px; POSITION: absolute; TOP: 169px" runat="server" DataKeyField="name" OnCancelCommand="DataGrid2_CancelCommand" OnUpdateCommand="DataGrid2_UpdateCommand" OnEditCommand="DataGrid2_EditCommand" Height="225px" Width="392px" ForeColor="Black" GridLines="None" CellPadding="2" BackColor="LightGoldenrodYellow" BorderWidth="1px" BorderColor="Tan" AutoGenerateColumns="False">
  <Columns>
    <asp:TemplateColumn>
<ItemTemplate>
  <asp:LinkButton runat="server" Text="修改" CommandName="Edit" CausesValidation="false"></asp:LinkButton>
        </ItemTemplate>
<EditItemTemplate>
  <asp:LinkButton runat="server" Text="确定" CommandName="Update"></asp:LinkButton>&nbsp;
  <asp:LinkButton runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"></asp:LinkButton>
</EditItemTemplate>
   </asp:TemplateColumn>
   <asp:TemplateColumn>
<ItemTemplate>
  <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.name") %>'>
</asp:Label>
        </ItemTemplate>
<EditItemTemplate>
  <asp:TextBox runat="server" ID=name Text='<%# DataBinder.Eval(Container, "DataItem.name") %>'>
  </asp:TextBox>
</EditItemTemplate>
   </asp:TemplateColumn>
  </Columns>
</asp:datagrid>
<asp:Label id="Label1" style="Z-INDEX: 102; LEFT: 281px; POSITION: absolute; TOP: 467px" runat="server">Label</asp:Label></form>

其中DataGrid2_UpdateCommand为:
private void DataGrid2_UpdateCommand(object sender,DataGridCommandEventArgs e)
  {
          TextBox nameTextBox =(TextBox)(e.Item.Cells[1].FindControl("name"));
          string name=nameTextBox.Text; 
          DataGrid2.EditItemIndex=-1;
          Label1.Text=name;
          DataGrid2.DataBind();
  }
问题是:为什么最后显示的Label1.Text还是原来的值呢,也就是说即使我在文本框中改变了值,最后显示的还是原来的值 呢???
DataSource没有修改当然是原来的值了。
但是name值是从文本框中读出的呀
另问:能不能详细说说怎样修改datasource
你先单步调试看看结果啊
把Page_Load中绑定DataGrid的代码放到IsPostBack里:
if (!IsPostBack)
{
  绑定DataGrid
}
to icyer:我按照你的方法改后,再点“修改”时就没有显示了,为什么呀???
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘