C# winform, как установить DataGridView VirtualMode в одном или нескольких DataGridView
Я работаю над проектом формы Windows. В моей форме у меня есть два DataGridViews.
Я хотел бы установить два DataGridViews для DataGridView.VirtualMode.
Есть ли эффективный способ выполнить эту задачу, кроме создания дважды кода, подобного следующему?
Ищу вашего совета, заранее спасибо.
DataGridView dgv1 = new DataGridView();
DataGridView dgv2 = new DataGridView();
ArrayList expense_summary_codes1 = new ArrayList();
Expense_Summary_Code expense_summary_codeInEdit1;
int rowInEdit1 = -1;
bool rowScopeCommit1 = false;
ArrayList expense_summary_codes2 = new ArrayList();
Expense_Summary_Code expense_summary_codeInEdit2;
int rowInEdit2 = -1;
bool rowScopeCommit2 = false;
... ellipsis
private void dgv_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
switch(dgv.Name)
{
case "dgv1":
if (e.RowIndex == dgv.RowCount - 1) return;
Expense_Summary_Code expense_summary_codeTmp1 = null;
if (e.RowIndex == rowInEdit1)
{
expense_summary_codeTmp1 = this.expense_summary_codeInEdit1;
...
}
...
break;
case "dgv2":
if (e.RowIndex == dgv.RowCount - 1) return;
Expense_Summary_Code expense_summary_codeTmp2 = null;
if (e.RowIndex == rowInEdit2)
{
expense_summary_codeTmp2 = this.expense_summary_codeInEdit2;
...
}
...
break;
}
}
private void dgv_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
{
...
}