问题:
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");
}