1

我在 Windows 窗体数据网格中使用 CanUserAddRows 属性让用户将行添加到绑定到数据库表的网格中。我想在该空行的第一列上显示一个文本,以指示用户必须填充该行以创建新行。当用户单击或输入该行时,该文本应消失。我怎样才能做到这一点 ?

4

1 回答 1

0

找到了解决方案。

private void dgvKlanten2_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) {
      int rows = ds1.Tables["Klanten"].Rows.Count;
      //when loading
      if (e.RowIndex == rows  - 1) {
        dgvKlanten2.Rows[e.RowIndex+1].Cells[2].Value = "add a record here";
        dgvKlanten2.Rows[e.RowIndex+1].Cells[2].Style.ForeColor = Color.Gray;
      }

      //when adding a new row
      if (e.RowIndex > rows ) {
        dgvKlanten2.Rows[rows].Cells[1].Value = getNieuwKlantNummer();
        dgvKlanten2.Rows[e.RowIndex].Cells[2].Value = "add a record here";
        dgvKlanten2.Rows[e.RowIndex].Cells[2].Style.ForeColor = Color.Gray;
        dgvKlanten2.Rows[e.RowIndex-1].Cells[2].Style.ForeColor = Color.Black;
        dgvKlanten2.Rows[e.RowIndex-1].Cells[2].Value = String.Empty;
      }
    }
于 2013-05-26T23:22:34.720 回答