Winform-DataGridView-DataGridViewComboBoxColumn无法获取值问题

问题:

Winform-DataGridView-DataGridViewComboBoxColumn下拉框选择了一个值,保存后无法获取当前选择的值

最后发现是处于了编辑状态,如下面的编辑图标

 

 取值之前要结束编辑 dataGridView_Barcode.EndEdit();

如下:

 

        private void btn_saveBarcode_BtnClick(object sender, EventArgs e)
        {
            SaveParameter(this.panel_productSN);

            //提交单元格的编辑并且结束编辑操作
            dataGridView_Barcode.EndEdit();

            //配置文件保存在xml文件中
            //xml操作
            //1,创建XDocument对象
            XDocument document = new XDocument();
            //2,加入一个根节点
            XElement rootElement = new XElement("Root");
            document.Add(rootElement);
            //3,向跟节点中增加子节点

            //程序配置
            XElement BarcodesElement = new XElement("Barcodes");
            for (int i = 0; i < dataGridView_Barcode.RowCount; i++)
            {
                //string ID = this.dataGridView_Pset.Rows[i].Cells[0].Value.ToString();//这种方法单元格为空的时候报错
                string ID = Convert.ToString(this.dataGridView_Barcode.Rows[i].Cells[0].Value);
                string Barcode = Convert.ToString(this.dataGridView_Barcode.Rows[i].Cells[1].Value);
                //string ProjectName = Convert.ToString(this.dataGridView_Barcode.Rows[i].Cells[2].Value);
                string ProjectName = this.dataGridView_Barcode.Rows[i].Cells[2].FormattedValue.ToString();

                XElement BarcodeElement = new XElement("Barcode");
                BarcodeElement.SetAttributeValue("ID", ID);
                BarcodeElement.SetAttributeValue("Barcode", Barcode);
                BarcodeElement.SetAttributeValue("ProjectName", ProjectName);
                BarcodesElement.Add(BarcodeElement);
            }

            rootElement.Add(BarcodesElement);

            document.Save(GlobalVariable.ConfigFilePath + "BarcodeConf.xml");
        }

  

posted @ 2022-02-22 12:50  包子789654  阅读(322)  评论(0编辑  收藏  举报