如何通过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();
}
答案 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中的不同单元格,它就会运行代码。