在winfrom开发中,我使用了一个datagrid表,绑定了数据,显示了三列n条记录,如何可以象在ASP.net中Datagrid表那样在表中进行更新和删除,还请高手们不吝赐教啊!!!

解决方案 »

  1.   

    改DataSet,不要直接改dataGrid1
    ds.Tables[0].Rows[0][0]
      

  2.   

    如果绑定后,修改datagrid就是修改dataset。
      

  3.   

    /// <summary>
    /// 使用DataAdapter(数据适配器)对数据进行更新操作,返回更新结果.
    /// </summary>
    /// <param name="dsName">dsName更新的记录集</param>
    /// <param name="dsName">SQL传递的SQL语句</param>
    /// <param name="tableName">tableName绑定的表名</param>
    /// <returns>NULL</returns>
    public void updateDataSet(DataSet dsName,string SQL,string tableName)
    {
    newConnection();
    adapter = new SqlDataAdapter(SQL,this.strConn);
    cb = new SqlCommandBuilder(adapter);DataSet dsAdded = dsName.GetChanges(DataRowState.Added);//获取增加的行
    DataSet dsModified = dsName.GetChanges(DataRowState.Modified);//获取修改过的行
    DataSet dsDeleted = dsName.GetChanges(DataRowState.Deleted);//获取标记为删除的行try
    {    
    if(dsAdded != null)//新增数据表
    {
    this.adapter.Update(dsAdded,tableName);
    dsName.AcceptChanges();
    //dsName.Merge(dsAdded);}if(dsModified != null)//更新数据表
    {
    this.adapter.Update(dsModified,tableName);
    dsName.AcceptChanges();
    //dsName.Merge(dsModified);}if(dsDeleted != null)//删除数据表
    {
    this.adapter.Update(dsDeleted,tableName);
    dsName.AcceptChanges();
    //dsName.Merge(dsDeleted);}  
    }
    catch(Exception ex)
    {
    throw new Exception("更新数据出错",ex);
    dsName.RejectChanges();
    }
    }
    }
      

  4.   

    完整的例子供参考,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx