Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用asp.net检查syncfusion中网格分组控件的行状态_C#_Syncfusion - Fatal编程技术网

C# 如何使用asp.net检查syncfusion中网格分组控件的行状态

C# 如何使用asp.net检查syncfusion中网格分组控件的行状态,c#,syncfusion,C#,Syncfusion,我正在尝试将数据从网格分组控件保存到数据库中。这是我在保存按钮单击事件中编写的代码 foreach (TableRow row in GridGroupingControl1.TopLevelTable.Rows) { if (row is GridRow) { GridRow gridRow = row as GridRow; if (gridRow.Record != null) { cmd = new

我正在尝试将数据从网格分组控件保存到数据库中。这是我在保存按钮单击事件中编写的代码

foreach (TableRow row in GridGroupingControl1.TopLevelTable.Rows)
{
    if (row is GridRow)
    {
        GridRow gridRow = row as GridRow;

        if (gridRow.Record != null)
        {
            cmd = new SqlCommand("Insert into Employee(Name, Dept, Desg) values('" + gridRow.Record.GetValue("(Name") + "','" + gridRow.Record.GetValue("Dept") + "','" + gridRow.Record.GetValue("Desg") + "')", con);

            cmd.ExecuteNonQuery();
        }
     }
}

我第一次在网格中添加了2行,并将这2行保存到数据库中。下一次我再次尝试在网格中添加另外2行,这是在保存前2行和最后插入的行。因此,我如何才能找到行状态,以便我新添加的最后2行必须保存到数据库中。

要使用新添加的记录更新数据库,在GridDataSourceControlRowAddingEventHandler中,我们可以将添加的记录存储在ViewState中,然后在Save button click事件中,我们可以将ViewState中的记录插入数据库

protected void Page_Load(object sender, EventArgs e)
    {
        ...
        this.GridGroupingControl1.DataSourceControlRowAdding += new GridDataSourceControlRowAddingEventHandler(GridGroupingControl1_DataSourceControlRowAdding);
    }

void GridGroupingControl1_DataSourceControlRowAdding(object sender,   GridDataSourceControlRowAddingEventArgs e)
    {
        List<Orders> records = new List<Orders>();
        if(ViewState["AddedRecord"] != null)
        {
            records = (List<Orders>)ViewState["AddedRecord"];
        }
        Orders obj = new Orders();
        obj.LastName = e.NewValues[0].ToString();
        obj.FirstName = e.NewValues[1].ToString();
        records.Add(obj);
        ViewState["AddedRecord"] = records;
        e.Cancel = true;
        e.Handled = true;
    }
private void SaveChanges()
    {
        if (ViewState["AddedRecord"] != null)
    {

        myConnection = new SqlCeConnection(ConnectionString);
        myConnection.Open();
        List<Orders> records1 = new List<Orders>();
        records1 = (List<Orders>)ViewState["AddedRecord"];
        foreach (var temp in records1)
        {
            SqlCeCommand command1 = new SqlCeCommand();
            command1.Connection = myConnection;
            command1.CommandText="INSERT INTO Employees([Last Name], [First Name]) VALUES(@LastName,@FirstName)";

            command1.Parameters.AddWithValue("@LastName", temp.LastName);
            command1.Parameters.AddWithValue("@FirstName", temp.FirstName);

            command1.ExecuteNonQuery();
        }
        ViewState["AddedRecord"] = null;
        myConnection.Close();
    }
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
...
this.GridGroupingControl1.DataSourceControlRowAdding+=新的GridDataSourceControlRowAddingEventHandler(GridGroupingControl1_DataSourceControlRowAdding);
}
void GridGroupingControl1_数据源控件行添加(对象发送方,GridDataSourceControlRowAddingEventArgs e)
{
列表记录=新列表();
如果(ViewState[“AddedRecord”]!=null)
{
记录=(列表)视图状态[“AddedRecord”];
}
订单obj=新订单();
obj.LastName=e.NewValues[0].ToString();
obj.FirstName=e.NewValues[1].ToString();
记录。添加(obj);
ViewState[“AddedRecord”]=记录;
e、 取消=真;
e、 已处理=正确;
}
私有void SaveChanges()
{
如果(ViewState[“AddedRecord”]!=null)
{
myConnection=newsqlceconnection(ConnectionString);
myConnection.Open();
列表记录1=新列表();
记录1=(列表)视图状态[“AddedRecord”];
foreach(记录1中的变量温度)
{
SqlCeCommand command1=新的SqlCeCommand();
command1.Connection=myConnection;
command1.CommandText=“插入员工([Last Name],[First Name])值(@LastName,@FirstName)”;
command1.Parameters.AddWithValue(“@LastName”,temp.LastName);
command1.Parameters.AddWithValue(“@FirstName”,temp.FirstName);
command1.ExecuteNonQuery();
}
ViewState[“AddedRecord”]=null;
myConnection.Close();
}
}