怎么判断一个数据源DataSet是编辑状态还是新增状态,或者两都都不是,代码该怎么写呢? 

解决方案 »

  1.   

    如果是DataRow....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;
    }
      

  2.   

    行有状态,可以判断,如果不是Unchanged的话,就是有改动~~
      

  3.   

    遍历DataTable里的行,判断行状态row.RowState,如果不是Unchanged,退出遍历,提示保存~
      

  4.   


    DataSet ds = new DataSet();
    if(ds.row.RowState != Unchanged)
    {
    ……
    }红色那该怎么写呢,我调不出row.RowState属性
      

  5.   

    DataTable dt = ds.Tables[0];
    foreach(DataRow dr in dt.Rows)
    {
       if(dr.RowState.ToString()!="Unchanged")
       {
            //do something
            break;
       }
    }