问题描述
我有一个自定义 DGV (dgvPaths
),前两列有 2 个按钮:
DataGridViewButtonColumn btnColRemove = new DataGridViewButtonColumn();
btnColRemove.Name = "Remove";
btnColRemove.HeaderText = "Remove";
dgvPaths.Columns.Add(btnColRemove);
dgvPaths.Columns["Remove"].displayIndex = 0;
DataGridViewButtonColumn btnColbrowse = new DataGridViewButtonColumn();
btnColbrowse.Name = "browse";
btnColbrowse.HeaderText = "browse";
dgvPaths.Columns.Add(btnColbrowse);
dgvPaths.Columns["browse"].displayIndex = 1;
DataGridViewTextBoxColumn txtColPath = new DataGridViewTextBoxColumn();
txtColPath.Name = "Path";
txtColPath.HeaderText = "Path";
dgvPaths.Columns.Add(txtColPath);
dgvPaths.Columns["Path"].displayIndex = 2;
现在我想使用 columnNames 添加一个新行并尝试这样做:
DataGridViewRow row = (DataGridViewRow)dgvPaths.Rows[0].Clone();
row.Cells["Path"].Value = "Path xy";
dgvPaths.Rows.Add(row);
这会导致错误“未找到列路径”。
我怎样才能做到这一点?
解决方法
使用以下方法解决了:
row.Cells[dgvPaths.Columns["Path"].Index].Value = "Path xy";