代码之家  ›  专栏  ›  技术社区  ›  Knugi

在文本框/标签中显示所选行记录

  •  2
  • Knugi  · 技术社区  · 6 年前

    如何从 DataGridView 在中显示 TextBox ?我有一些 文本框 Label 在a中 Form 。我想把文字放在 TextBox/Label 在用户从中选择行记录时进行更改 数据表格控件 。我尝试了以下代码来实现它,但它不起作用

    private void ItemTable_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        label_itemid_show.Text = ItemTable.Rows[e.RowIndex].Cells[0].Value.ToString();
        text_itemname.Text = ItemTable.Rows[e.RowIndex].Cells[1].Value.ToString();
        text_itemprice.Text = ItemTable.Rows[e.RowIndex].Cells[2].Value.ToString();
        text_itemstock.Text = ItemTable.Rows[e.RowIndex].Cells[3].Value.ToString();
    }
    
    2 回复  |  直到 5 年前
        1
  •  1
  •   Luke    6 年前

    我正在从事一个项目,该项目包含与您类似的功能。目前,我在datagridview中选择一条记录,并需要将其值显示到文本框中,以便可以编辑任何值。

    这就是我解决问题的方法。

    Models.Item item = DAL.ItemDAL.GetItem(Convert.ToInt32(ItemDataGrid.CurrentRow.Cells[0].Value));
            tbModifyItemID.Text = Convert.ToString(item.ItemID);
            tbModifyItemName.Text = item.ItemName;
    

    这是ItemDataGridView。当前行。单元格[0]。值,该值为我查找所选记录的ItemID。

    在您的情况下,它是[DataGridName]。当前行。单元格[字段号,从0开始]。价值ToString();

    这允许您单击记录中的任何单元格,仍然可以检索代码中指定的单元格。

    希望对c有所帮助:

    PS: 如果你把它放在

    private void ItemDataGrid_SelectionChanged(object sender, EventArgs e)
    

    方法,它将在您单击datagridview中的其他单元格时运行代码。

        2
  •  0
  •   Raviraj Palvankar    6 年前

    您可以使用以下选项:

    lblDetails.Text = dgMainGrid.SelectedRows[0].Cells[1].Value.ToString();
    

    LBL详细信息:表单上的标签。 dgMainGrid:表单上的DataGrivView。

    PS:只需确保您选择了datagrid中的行,而不是任何特定的单元格,行选择是通过单击第一列的左侧来完成的,即在WinForms中运行时添加的行选择器列。