日期:2014-05-18  浏览次数:20983 次

100分求:如何判断 DataGridView 行状态?我想在提交时,判断一下DataGridView里所有行是什么状态(被修改、新加行、保持原样)
如何判断 DataGridView 行状态?我想在提交时,判断一下DataGridView里所有行是什么状态(被修改、新加行、保持原样)  
请大家贴出源码,谢谢!~~~

------解决方案--------------------
DataGridView 没有状态,有状态的是数据源。所以DataSet状态就有
------解决方案--------------------
绑定的数据源,如果是DataTable的话,DataRow有RowState属性
------解决方案--------------------
你可以把对GridView的操作都存放在DataTable里
然后在最后在这个DataTable里判断数据的变化
------解决方案--------------------
DataGridView 没有绑定数据源?
绑定的数据源,如果是DataTable的话,DataRow有RowState属性

同意。
------解决方案--------------------
有个RowState属性,可以通过他来判断

例子:
C# code
private void DemonstrateRowState()
{
    // Run a function to create a DataTable with one column.
    DataTable table = MakeTable();
    DataRow row;
 
    // Create a new DataRow.
    row = table.NewRow();
    // Detached row.
    Console.WriteLine("New Row " + row.RowState);
 
    table.Rows.Add(row);
    // New row.
    Console.WriteLine("AddRow " + row.RowState);
 
    table.AcceptChanges();
    // Unchanged row.
    Console.WriteLine("AcceptChanges " + row.RowState);
 
    row["FirstName"] = "Scott";
    // Modified row.
    Console.WriteLine("Modified " + row.RowState);
 
    row.Delete();
    // Deleted row.
    Console.WriteLine("Deleted " + row.RowState);
}
 
private DataTable MakeTable()
{
    // Make a simple table with one column.
    DataTable table = new DataTable("table");
    DataColumn dcFirstName = new DataColumn(
        "FirstName", Type.GetType("System.String"));
    table.Columns.Add(dcFirstName);
    return table;
}