-2

何かが存在しない場合、インデックスが範囲外であるため、現在、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;
                    }
4

1 に答える 1

0

毎回新しい行を追加し、行インデックスを使用して範囲外に出ないようにします。列情報が欠落している場合は列を探す必要があり、範囲外のインデックスがスローされます。使用しているすべてのデータ グリッドビューを確認してください

于 2013-07-29T13:48:13.027 に答える