【问题标题】:How to get data from two telerik grid view in two separate forms?如何以两种不同的形式从两个 Telerik 网格视图中获取数据?
【发布时间】:2015-12-29 13:22:31
【问题描述】:

我正在尝试从两个不同且独立的 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,但效果不佳

我该如何解决这个问题?

【问题讨论】:

    标签: c# winforms telerik


    【解决方案1】:

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

    由于我不知道您显示的是哪种对象,因此只需更改此代码中的 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
    }
    

    希望对你有帮助

    【讨论】:

    • 我正在使用 Telerik 网格视图,我希望它的第一个值是 Id,我应该写什么而不是 myobject??
    • 究竟我应该放什么而不是(某些属性),因为点(。)之后什么都没有
    • 是的,什么都没有,因为您需要将 MyObject 替换为用于填充网格的对象,不确定 Customer 是否是类型你正在使用的。也许如果你告诉我你是如何填充网格的,我可以帮助你,或者尝试 var type = RowInfo.DataBoundItem.GetType();并调试以检查 Row 包含的对象是什么类型
    • 我正在使用另一种表格来填充 Telerik 网格视图(这是客户的信息),在保存表格后,它的信息会转到 DB 并在网格视图中(这是另一种表格)
    • 试试 FireCell = RowInfo.Cells[0].Text.ToString();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多