我遇到以下问题这个vb看起来很像我想要做的:Clicking on a datagrid row and displaying its contents in textboxes。 有人可以对这些专栏有所了解:
,[empLastName]
,[empFirstName]
,[empExtension]
,[empEmail]
,[empOfficeCode]
,[empReportsTo]
,[empJobTitle]
,[empActive]
我需要通过点击一个名为SelectedCells的按钮将所有阀门从它取出到一个多行文本框。
到目前为止,这是按钮代码,是的,它只是将行数据带到文本框中:
private void selectedCellsButton_Click_1(object sender, DataGridViewCellEventArgs e)
{
{
Int32 selectedCellCount =
dataGridView1.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > 0)
{
if (dataGridView1.AreAllCellsSelected(true))
{
MessageBox.Show("All cells are selected", "Selected Cells");
}
else
{
System.Text.StringBuilder sb =
new System.Text.StringBuilder();
for (int i = 0;
i < selectedCellCount; i++)
{
sb.Append("Row: ");
sb.Append(dataGridView1.SelectedCells[i].RowIndex
.ToString());
sb.Append(", Column: ");
sb.Append(dataGridView1.SelectedCells[i].ColumnIndex
.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedCellCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Cells");
double[] list = new double[9];
Cvalve.Text = dataGridView1.SelectedRows[0].Cells["empNumber"].Value.ToString();
}
}
}
}
如果有人可以指出它出错的地方,并且可能会在代码本身的某些指导下指出正确的方向。
答案 0 :(得分:0)
你在寻找这样的东西:
DataGridViewRow row = dataGridView1.SelectedRows[0];
Cvalve.Text = row.Cells["empNumber"].Value.ToString() + Environment.NewLine;
Cvalve.Text += row.Cells["empLastName"].Value.ToString() + Environment.NewLine;
//...
Cvalve.Text += row.Cells["empJobTitle"].Value.ToString() + Environment.NewLine;
Cvalve.Text += row.Cells["empActive"].Value.ToString() ;
您需要决定要显示哪一行。如果您将DataGridView.SelectionMode
设置为CellSelect
,则用户可以选择没有选择行的单元格。然后你可以使用
DataGridViewRow row = dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex];
而是显示第一个选定单元格行的数据。