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

时间:2018-03-12 10:21:16

标签: c# datagridview textbox label

如何通过DataGridView中的TextBox节目制作选定的行记录?我得到了一些TextBox and标签in a表单. I want the text inside the TextBox / Label to change when the user selects a row record from the DataGridView`。我尝试了以下代码来实现它,但它没有工作

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 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

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

lblDetails:表单上的标签。 dgMainGrid:表单上的DataGrivView。

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

答案 1 :(得分:0)

我正在开发一个包含与您类似的功能的项目。目前我在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.CurrentRow.Cells [0] .Value,它找到所选记录的ItemID。

在你的情况下它是[DataGridName] .CurrentRow.Cells [FieldNo,从0开始] .Value.ToString();

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

希望它有助于c:

PS: 如果你把它放在

private void ItemDataGrid_SelectionChanged(object sender, EventArgs e)

方法只要你点击datagridview中的不同单元格,它就会运行代码。

相关问题