我需要以编程方式填充一个DataGridView。数据库的列是固定的,而行数取决于列表的大小。实际上,我有一个 List<MyCustomClass>
,我需要用这个列表填充数据。
目前,我的做法是:
public Constructor()
{
InitializeComponent();
dataGridViewFiles.AutoGenerateColumns = false;
dataGridViewFiles.ColumnCount = 3;
dataGridViewFiles.Columns[0].Name = "File Name";
dataGridViewFiles.Columns[1].Name = "Total Documents";
dataGridViewFiles.Columns[2].Name = "Total Pages";
}
Public LoadDGV()
{
for (int i = 0; i < nTotalInputFiles; i++)
{//add code here for adding rows to dataGridviewFiles
DataGridViewRow tempRow = new DataGridViewRow();
DataGridViewCell cellFileName = new DataGridViewTextBoxCell();
cellFileName.Value = selectedProject.InputFiles[i].FileName;
tempRow.Cells.Add(cellFileName);
DataGridViewCell cellDocCount = new DataGridViewTextBoxCell();
cellDocCount.Value = selectedProject.InputFiles[i].DocCount.ToString();
tempRow.Cells.Add(cellDocCount);
DataGridViewCell cellPageCount = new DataGridViewTextBoxCell();
cellPageCount.Value = selectedProject.InputFiles[i].PageCount.ToString();
tempRow.Cells.Add(cellPageCount);
tempRow.Tag = selectedProject.InputFiles[i].Id;
dataGridViewFiles.Rows.Add(tempRow);
}
但是以上代码有时候并不完美。那么是否有其他方法?或者有什么建议可以改进上述方法吗?