0

我面临的问题对我来说似乎很简单,但我无法克服这个心理障碍。

为了更好地解释我的情况:我正在从 mdf 数据库 (Northwind) 中读取值,并将 ContactName 列传递给将值拆分为名字和姓氏的类方法。然后它将这些传回,我尝试将它们添加到我创建的正确列下的 DataGridView 中。

我的问题是,使用这个当前代码,它为每一列添加行,但除了最后一个之外,它们都是空白的,它显示了表格列中的最后一个名字和姓氏。

我觉得由于某种原因,显示空白的行可能会被覆盖,但我不确定。我在正确的轨道上吗?

这是我的代码:

            conn.Open();

        SqlDataReader reader = command.ExecuteReader();

        searchDataGridView.AllowUserToAddRows = true;

        Customer cust = new Customer();

        searchDataGridView.ColumnCount = 2;
        searchDataGridView.Columns[0].Name = "First Name";
        searchDataGridView.Columns[1].Name = "Last Name";

        int index = this.searchDataGridView.Rows.Count;

            while (reader.Read())
            {

                string customerid = reader.GetString(0);
                string contactname = reader.GetString(2);

                cust.NameSplit(contactname);

                this.searchDataGridView.Rows.Add();

                DataGridViewRow r = searchDataGridView.Rows[rowIndex];

                r.Cells["First Name"].Value = cust.FirstName;
                r.Cells["Last Name"].Value = cust.LastName;
            }

虽然这对我来说似乎很拗口,但我希望我解释得足够清楚。如果您需要更多信息,请告诉我,我将非常乐意提供。谢谢 :)

4

1 回答 1

2

添加行时不会更新 rowIndex 变量。此行需要修复:

rowIndex = this.searchDataGridView.Rows.Add();
于 2012-11-13T06:13:40.717 回答