编辑情况下没有错误,可更新
新增按钮代码处理过程如下:
int index  = DataGrid1.Items.Count;
DataGrid1.EditItemIndex = index ;
DataRow dr = dtCuurentTable.NewRow();   //增加跟数据源结构相同的空行
bl = BindRowData(dtCuurentTable,ref dr,out strErrMsg);  //初始化新空行的一些数据
dtCuurentTable.Rows.Add(dr);
DataGrid1.DataSource = dtCuurentTable;  
DataGrid1.DataBind();  请问这样写有什么问题吗?

解决方案 »

  1.   

    另一个问题是,第一次打开页面的时候,DataGrid_ItemCreated丢失了,而点DataGrid 的编辑或删除后DataGrid_ItemCreated才出现:(
    DataGrid_ItemCreated的代码是
    private void DataGrid_ItemCreated(object source, DataGridItemEventArgs  e)
    {
    if (e.Item.ItemIndex != -1) 
    {
    ((LinkButton)e.Item.Cells[e.Item.Cells.Count-1].Controls[0]).Attributes["onClick"] = "javascript:return confirm('确定删除吗?此操作将不可恢复!');";
    }

    }
      

  2.   

    数据集中表的数据来需要保存吗?
    一般是数据保存后,再重新取数据并与DataGrid绑定。代可以这样试试:dtCuurentTable.Rows.Add(dr);//接受记录集中的所有改变
    dtCuurentTable..AcceptChanges();DataGrid1.DataSource = dtCuurentTable;  
    DataGrid1.DataBind();  
      

  3.   

    我试过了,点保存后先将新增的记录保存,再重新取数据并与DataGrid 绑定是可以的。
    但这样的话,如果用户点新增后却没有点保存,不就生成一条空记录了吗?这显然是不符合规律的
      

  4.   

    看看这个吧
    http://www.bbchome.com/thbbs/get.asp?get=65049
      

  5.   

    忘了说了,这两个问题都是在我写的组合控件中的。
    第二个的+写在了CreateChildControls里,不对吗?
      

  6.   

    if not ispostback 放在哪?