在没有索引C#的情况下向datagridview添加行

时间:2013-07-29 13:33:04

标签: c# winforms datagridviewrow

我目前正在winform应用程序中向多个datagridviews添加行,因为当某些内容不存在时,索引超出范围。我与我的团队进行了现场会议,他们希望所有项目都在一个数据网格视图中。我试图使用for和for each语句但是如果第1项存在,我的项目仍然超出范围,第二项没有,第三项存在。我在下面提供了我目前的IF声明。任何可用于显示行的方法,无论其索引如何?我当前的索引是硬编码的,这是我在多个datagridviews中工作的唯一方法。在此先感谢任何协助程序员!!

 //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;
                    }

1 个答案:

答案 0 :(得分:0)

您每次都在添加新行并使用行索引,因此它永远不会超出范围。如果缺少任何列信息,您应该查找列,然后它会使索引超出范围异常。检查您正在使用的所有数据网格视图