繁体   English   中英

向datagridview添加行时,除最后一行外不会插入任何值

[英]While adding rows to datagridview, no values are inserted except last row

我面临的问题对我来说似乎很简单,但我不能超越这个心理障碍。

为了更好地解释我的情况:我正在读取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;
            }

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

在添加行时,不会更新rowIndex变量。 这条线需要修理:

rowIndex = this.searchDataGridView.Rows.Add();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM