表单加载时组合框列为空-组合框中无项目

时间:2019-01-06 19:37:11

标签: c# datagridcomboboxcolumn

我有一个很好的datgridview,其中有一个combobox列。在表格加载时,每个组合框单元中应加载不同的项目(印刷单位,温度单位等)。问题在于,在表单加载时,组合框单元格中将没有任何项目,并且默认值将为空。

将项目加载到每个组合框单元格的代码可以正常工作,但加载事件除外。加载表单后,我向表单添加了附加按钮,并测试了加载单元代码,使其按预期工作。我还确保组合框列未设置为只读。

    private void FillUnits()
    {
        SQLData SQL1 = new SQLData();
        DataTable Units = new DataTable();
        SQL1.ConnString = "Data Source=LAPTOP-7DONKA7F;Initial Catalog=Natural_Gas;Integrated Security=True";
        String LoadUnits = "Select * from Units1";
        Units = SQL1.Load(LoadUnits);
        List<string> dtr = new List<string>();

        for (int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            String str = PropertyTable.Rows[i]["DefaultUnit"].ToString();
            DataRow dr = Units.Select("Default_Unit Like '%" + str + "%'").First();

            int h = 0;
            dtr.Clear();

            while (dr[h].ToString() != String.Empty)
            {
                dtr.Add(dr[h].ToString());
                h++;
            }

            DataGridViewComboBoxCell stateCell = (DataGridViewComboBoxCell)(dataGridView1.Rows[i].Cells["Unit"]);
            stateCell.Items.AddRange(dtr.ToArray());
            stateCell.Value = dtr[0];
        }

    }

0 个答案:

没有答案