datagridview .get 单元格值而不离开行
datagridview .get cell value without leaving row
我有一个 DataGridView,用户可以在其中输入一个值。当他输入时,新行被添加,用户可以输入他的新值。
随着用户输入姓名,会不断添加更多行。当用户输入完所有姓名后,他单击一个按钮,我需要使用在网格视图中输入的每个姓名做一些事情。
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value != null)
{
string user = row.Cells[0].Value.ToString();
// do something using the string user
}
}
这是我用来读取每一行的代码。我面临的问题是 v
row.Cells[0].Value
似乎没有捕捉到最后一个活动行。
例如。如果用户刚刚输入 "Tim" ,他将被迫转到下一个空行以确保 Tim 也能被上述代码读取。如果他在键入后仍将光标保持在 Tim 单元格中,则上述代码不会捕获 "Tim"。
我该如何解决这个问题?我更愿意在不使用任何 CellChange
事件或任何事件的情况下执行此操作。我有整行 select 作为 Selection Mode
.
根据这个 link,您需要调用 dataGridView1.EndEdit()
。请注意,如果无法关闭此编辑(即单元格中的数据不满足所有输入验证条件),此方法将抛出异常。
我有一个 DataGridView,用户可以在其中输入一个值。当他输入时,新行被添加,用户可以输入他的新值。
随着用户输入姓名,会不断添加更多行。当用户输入完所有姓名后,他单击一个按钮,我需要使用在网格视图中输入的每个姓名做一些事情。
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value != null)
{
string user = row.Cells[0].Value.ToString();
// do something using the string user
}
}
这是我用来读取每一行的代码。我面临的问题是 v
row.Cells[0].Value
似乎没有捕捉到最后一个活动行。
例如。如果用户刚刚输入 "Tim" ,他将被迫转到下一个空行以确保 Tim 也能被上述代码读取。如果他在键入后仍将光标保持在 Tim 单元格中,则上述代码不会捕获 "Tim"。
我该如何解决这个问题?我更愿意在不使用任何 CellChange
事件或任何事件的情况下执行此操作。我有整行 select 作为 Selection Mode
.
根据这个 link,您需要调用 dataGridView1.EndEdit()
。请注意,如果无法关闭此编辑(即单元格中的数据不满足所有输入验证条件),此方法将抛出异常。