내가이 솔루션을 통해 보면서 내가 일이있어 방법은 생성자에서 InitializeComponent()
호출 후에이 작업을 수행하는 것이 었습니다 데이터 바인딩 된 행에 대한 빈 이미지
dataGridView1.Columns[0].DefaultCellStyle.NullValue = null;
를 기본 이미지를 만들 그리고 마지막에 빈 행에 빨간색 X를 제거 RowPrePaintEvent
걸리지 그리드의 AllowUserToAddRows = true
이유는 numberOfRows
는 그리드의 유효한 행의 수는
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (e.RowIndex >= numberOfRows)
{
dataGridView1.Rows[e.RowIndex].Cells[0].Value = null;
}
}
. 이 문제를 처리하는 데 단지 몇 시간을 보냈습니다. 내가 DataGridView에있는 모든 DataGridViewImageColumn 요소에 대한이 기본 동작을 방지하기 위해이
private void dgUserFileList_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) {
DataGridViewRow row = dgUserFileList.Rows[e.RowIndex];
if (row.IsNewRow) {
row.Cells[0].Value = null;
}
}
}
행에 데이터가없는 경우 표시/표시되는 이유는 무엇입니까? – Cerebrus
Cerebrus, "AllowUserToAddRows = true"로 인해 빈 행이 표시됩니다. 이 질문을 포함하도록 질문을 수정했습니다. –