何かが存在しない場合、インデックスが範囲外であるため、現在、winform アプリケーションの複数の datagridviews に行を追加しています。私はチームとライブミーティングを行いましたが、彼らはすべてのアイテムを 1 つのデータグリッドビューに配置したいと考えています。for ステートメントと for each ステートメントを使用しようとしましたが、1 番目のアイテムが存在し、2 番目のアイテムが存在せず、3 番目のアイテムが存在する場合、アイテムは範囲外でした。現在の IF ステートメントを以下に示します。インデックスに関係なく行を表示する方法はありますか? 私の現在のインデックスはハードコーディングされています。これが、複数のデータグリッドビューで動作させる唯一の方法です。仲間のプログラマーの支援をよろしくお願いします!!
//add link to row for case selected
#region "if statements for eFacts, History, Summary and Driving history"
//this row will always exist first
dataGridViewMiddle.Rows.Add(1);
dataGridViewMiddle[0, 0].Value = "eFacts";
dataGridViewMiddle[1, 0].Value = eFacts.Text;
//add link to History row for case selected
if (caseCat == "CF" || caseCat == "MM" || caseCat == "CT" || caseCat == "CJ")
{
dataGridViewMiddle.Rows.Add(1);
dataGridViewMiddle[0, 1].Value = "Arrest History";
dataGridViewMiddle[1, 1].Value = Arrest_History.Text;
}
//add link to Summary row for case selected
if (caseSummary.Contains(caseCat))
{
DGVsummary.Rows.Add(1);
DGVsummary[0, 0].Value = "Summary";
DGVsummary[1, 0].Value = Summary.Text;
DGVsummary.Visible = true;
}
else
{
DGVsummary.Visible = false;
}
//add link to Driving History row for case selected
if (license != "")
{
DGVdriverLicense.Rows.Add(1);
DGVdriverLicense[0, 0].Value = DLnumber.Text;
DGVdriverLicense[1, 0].Value = Driving_History.Text;
DGVdriverLicense.Visible = true;
}