如何以两种不同的形式从两个telerik网格视图中获取数据?

时间:2015-12-29 13:22:32

标签: c# winforms telerik

我正在尝试从两个不同且独立的telerik Gridview获取数据。 (第一个用于客户,第二个用于编辑选定的客户)

我想从第一个客户ID获得。我从之前的表单中创建了一个对象,并尝试使其工作,但是当它想要获取最后一个表单的第一个元素时,它总是为0。

Visual Studio告诉我这个运行时错误

以下是3个不同图层中的代码

第一个

       private void btnEdt_Click(object sender, EventArgs e)
    {
        Ref_View_Model = new View_model._View_Model();
        Ref_C = new Customers();

        foreach (var RowInfo in Ref_C.radGridView1.SelectedRows)
        {
            FireCell = RowInfo.Cells[0].Value.ToString();
        }


        Ref_C.radGridView1.CurrentRow.Delete();
        Ref_C.customersTableAdapter.Update(Ref_C.sales_and_Inventory_SystemDataSet);
        Ref_C.customersTableAdapter.Fill(Ref_C.sales_and_Inventory_SystemDataSet.Customers);

        Ref_View_Model.GetEditCustomers(FireCell, txtFName.Text, txtLName.Text, txtPhn.Text, txtDdrss.Text);

第二层

        public void GetEditCustomers(string _id,string _fName, string _lName, string _phone, string _address)
    {
        Ref_Model = new Model._Model();
        Ref_Model.EditCustomres(_id, _fName, _lName, _phone, _address);
    } 

和第三个

        public void EditCustomres( string _id,string _fName, string _lName, string _phone, string _address)
    {

        Connection_String = @"Data Source=MOSTAFA-PC;Initial Catalog=" + "Sales and Inventory System" + ";Integrated Security=TrueData Source=MOSTAFA-PC;Initial Catalog=" + "Sales and Inventory System" + ";Integrated Security=True;";
        Con = new SqlConnection();
        Con.ConnectionString = Connection_String;
        Helper = Convert.ToInt32(_id);
        Con.Open();
        Cmd = new SqlCommand();
        Cmd.Connection = Con;
        Cmd.CommandType = CommandType.Text;
        Cmd.CommandText = "update Customers "+
                            "set FName=" + _fName + ",LName=" + _lName + ",Phone=" + _phone + ",[Address]=" + _address + 
                              "where Id like " + Helper;
        Cmd.ExecuteNonQuery();
        Cmd.Dispose();
    } 

我不知道如何到达我试过linq的循环中的那条线但是它运行不顺利

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我认为这是一种更简洁的方法,从行中获取对象并获取所需的值。我个人不建议尝试使用单元格索引获取值,仅在绝对必要的情况下,因为有时您只是猜测单元格包含的内容。

由于我不知道您要显示的是哪种对象,只需更改此代码中的 MyObject 即可。 (我只是假设网格包含客户)

myValue 是您要查找的值。

foreach (var RowInfo in Ref_C.radGridView1.SelectedRows)
{
    var customer = RowInfo.DataBoundItem as MyObject;

    // Reach the property that are located in Cells[0]
    var myValue = customer.SomeProperty
}

希望有所帮助