我有一个包含两列的 DataGridView。单击第一列中的单元格时,会显示一个 OpenFileDialog,当我选择一个文件时,第二列中的单元格值将设置为所选文件名。这是代码:
private void dataGridView1_CellContentClick(
object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
SelectFile(e.RowIndex);
}
}
private void SelectFile(int rowIndex)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
dataGridView1.Rows[rowIndex].Cells[1].Value =
openFileDialog.FileName;
}
}
这可行,但我希望在设置单元格值时添加一个新行。当我手动编辑单元格时,会发生这种情况,该行进入“编辑”状态,并在下面添加一个新行。当我以编程方式设置单元格值时,我希望发生同样的情况。
[edit]
当我的表单第一次显示时,DataGridView 是空的,显示的唯一行是带有(* 符号 - IsNewRow 为 true)的行。当我手动编辑该行中的单元格时,它会进入编辑状态(铅笔符号)并添加一个新的空行。当我使用上面的代码时,不会发生这种情况。该行保留为 IsNewRow(* 符号)并且不会添加新行。
使用此代码您可以做您想做的事情。我出于同样的原因使用它:
myGrid.NotifyCurrentCellDirty(true);
本回答来源:
以编程方式使新行变脏,并在 DataGridView 中在其后面插入新行 https://stackoverflow.com/questions/4497050/make-new-row-dirty-programmatically-and-insert-a-new-row-after-it-in-datagridvie
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)