首页 文章

将包含text vaue“true”文本的datagridview单元格类型更改为复选框

提问于
浏览
0

我有一个datagridview,其中一个单元格的文本值为一列的“True”,下一列应该有一个组合框,其中有两个值可供选择(in和out)...我想将单元格类型更改为一个复选框和单元格类型为组合框...如果单元格文本为“true”,则必须选中复选框,如果它为false或者没有任何内容,则必须取消选中方向列中的文本位于组合框中的复选框value必须设置为IN并且在其中有一个额外的选项...这个DATA来自一个加载的xml文件,这是我如何将xml文件加载到datagridview

public void Load(DataGridView dgv)
            {             
                    dgv.Refresh();
                    XmlReaderxmlFile=XmlReader.Create(@"path/DGVXML.xml",newXmlReaderSettings());
                    DataSet dataSet = new DataSet();
                    dataSet.ReadXml(xmlFile);
                    dgv.DataSource = dataSet.Tables[0];
                    xmlFile.Close();              
            }

enter image description here

datagridview必须显示如下

enter image description here

1 回答

  • 0

    这是iv添加到加载方法并且100%工作

    dgv.Refresh();
                    XmlReader xmlFile = XmlReader.Create(@"/DGVXML.xml", new XmlReaderSettings());
                    DataSet dataSet = new DataSet();
                    dataSet.ReadXml(xmlFile);
    
                    DataGridView grid = new DataGridView();
                    var nameColumn = new DataGridViewTextBoxColumn();
                    nameColumn.Name = "Device Name";
                    nameColumn.HeaderText = "Device Name";
                    dgv.Columns.Add(nameColumn);
    
    
                    var checkColumn = new DataGridViewCheckBoxColumn();
                    checkColumn.Name = "Select";
                    checkColumn.HeaderText = "Select";
                    dgv.Columns.Add(checkColumn);
    
                    string IN = "IN";
                    string OUT = "OUT";
                    var select = new DataGridViewComboBoxColumn();
                    select.HeaderText = "Direction";
                    select.Name = "Direction";
                    select.Items.Add(IN);
                    select.Items.Add(OUT);
                    dgv.Columns.Add(select);
    
                    foreach (DataRow row in dataSet.Tables[0].Rows)
                    {
                        string DeviceName = row[0].ToString();
    
                         bool Enabled = false;
                        if (row[1].ToString() != "")
                            Enabled = Convert.ToBoolean( row[1].ToString());
    
                        string Direction = row[2].ToString();
    
                        DataGridViewRow dgRow = new DataGridViewRow();
                        dgv.Rows.Add(new object[] {DeviceName, Enabled, Direction});
                    }
    

相关问题