beginedit可以变成编辑状态

解决方案 »

  1.   

    没有必要把一切都放在datagrid中来完成。可以用datagrid来实现显示,修改,更新,删除的工作。然后在datagrid外面做添加新记录的工作。当新记录添加完成时,刷新datagrid.IBuySpyPortal 以及 quickstart都是这样做的。
      

  2.   

    我做过一个类似的程序。
    首先在itemtemplate中添加textbox,也就是所有datagrid中的项从一开始就是textbox
    点击添加按钮后datagrid最上面出现空行,而datagrid中所有的行都是通过控制textbox的enable属性来控制是否允许更改。private void bt_Add_Click(object sender, System.EventArgs e)
    {
    DataSet ds=(DataSet)ViewState["ds"];
    DataRow newrow=ds.Tables[0].NewRow();
    newrow[0]=0;//设置临时值
    newrow[1]="";//设置临时值
    ds.Tables[0].Rows.InsertAt(newrow,0);//在datagrid最上方加入一个空行
    DataGrid1.DataSource=ds.Tables[0].DefaultView;
    DataGrid1.DataBind(); bt_Submit.Enabled=true;
    bt_Cancel.Enabled=true;
    bt_Add.Enabled =false;

    DisableDataGrid();//让所有的textbox都不可编辑
    TextBox tb=(TextBox)(DataGrid1.Items[0].Cells[1].Controls[1]);
    tb.Enabled=true;//使datagird中新添加的行允许修改
    }private void DisableDataGrid()
    {
    foreach(DataGridItem dgi in DataGrid1.Items)
    {
    TextBox tb=(TextBox)(dgi.Cells[1].Controls[1]);
    tb.Enabled=false;
    }            
    }
      

  3.   

    http://www.csdn.net/Expert/TopicView1.asp?id=683526
      

  4.   

    同意 spring_ok(spring.z) 
    其它地方添加,太复杂的东西会使自己把自己弄糊涂