使用了EditCommandColumn ,可以正常修改,但是不知道为什么每次都要点击编辑按钮两次才能显示编辑,而且文本框里面没有显示值我比较郁闷的是为什么会要点两次,而且要修改的内容居然在没有在文本框显示
但是把内容填写进去后确实能显示。
请哪位大哥帮忙解决一下部分代码如下
<asp:EditCommandColumn EditText="编辑" UpdateText="修改" CancelText="取消"></asp:EditCommandColumn> private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
} private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindGrid(); } private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ string TextBox1 = ((System.Web.UI.WebControls.TextBox)e.Item.Cells[1].Controls[0]).Text;
String SqlStr;
SqlStr="update Proclass set classname='"+TextBox1+"' where ClassId="+e.Item.Cells[0].Text ;
DM.ExecuteCMD(SqlStr,"conn");
DataGrid1.EditItemIndex = -1;
BindGrid(); }

解决方案 »

  1.   

    Page_Load()
    中加
    if(!Page.IsPostBack)
    {
    //数据绑定
    }
      

  2.   

    看错了,这里也要绑定
    private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
                         BindGrid() ; }
      

  3.   

    问题是你没有在page_load()中判断
    Page_Load()
    中加
    if(!Page.IsPostBack)
    {
    //数据绑定
    }
      

  4.   

    谢谢  famousun(路漫漫其修远兮,吾将上下而求索)
    你说的对 ,是因为我那里没有数据绑定的原因
    同时感谢mazekui(悠悠春竹)
    我马上给分
      

  5.   

    呵呵,这里该了没有private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
                         BindGrid() ; }