如何使用C#将Datagrid视图中的选定行显示到文本框中

时间:2016-09-19 14:44:19

标签: c# gridview

我将所有用户注册存储在user_reg数据库表中并将它们导入到数据网格视图中,并使用单独的窗体来输入数据。当数据从数据库导入到数据网格视图时,我的名称列显示为一个(名字,中间名和姓氏连接在一起。)我的问题是,当我尝试将数据从数据网格视图导入到我的窗口时表单名称 coloumn在Windows窗体上显示不正确(它显示为一个,但我的有3个单独的文本框。)我已经完成了这个=>

private void Update_Users_Load(object sender, EventArgs e)
    {
        long totalRow = 0;


        MySqlDataAdapter sda = new MySqlDataAdapter("SELECT `user_reg`.`user_id`, `user_reg`.`first_name`, `user_reg`.`middle_name`, `user_reg`.`last_name`, `user_reg`.`address`, `user_reg`.`sex`, `user_reg`.`nic_number`, `user_reg`.`contact_number`, `user_reg`.`email_address`, `user_reg`.`user_type` FROM `sarasavi_library`.`user_reg` WHERE `user_id`='" + borrower_id + "';", conn);
        DataSet ds = new DataSet();
        sda.Fill(ds, "user_reg");

        totalRow = ds.Tables["user_reg"].Rows.Count - 1;

        txt_uid.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(0).ToString();
        txt_fname.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(1).ToString();
        txt_mname.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(2).ToString();
        txt_lname.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(3).ToString();
        txt_address.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(4).ToString();
        com_sex.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(5).ToString();
        txt_nic.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(6).ToString();
        txt_contact.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(7).ToString();
        txt_email.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(8).ToString();
        com_memtype.Text = ds.Tables["user_reg"].Rows[0].ItemArray.GetValue(9).ToString();

    }

但我的问题是它没有运行但却给我错误

  

当前上下文中不存在名称borrower_id

borrower_id是数据网格视图中的名称,我无法找到包含它的方法。关于如何包含这个的任何想法?为了更好地理解,我将附加图像screenshot

1 个答案:

答案 0 :(得分:1)

  

当前上下文中不存在名称borrower_id。

此异常表示编译器不知道“ borrower_id ”是什么。那是因为(基于代码片段)你在使用它之前从未在任何地方声明它。我看到的唯一实例就是当你用它来构建你的查询时。

除非“ borrower_id ”是一个属性(这就是你从你的代码片段中省略了它的声明的原因),你需要在使用它之前声明它,以便编译器知道它是什么。< / p>