我有一个datagridview,其中的单元格的文本值为" True"对于一列,下一列应该有一个组合框,有两个值可供选择(输入和输出)...我想将单元格类型更改为复选框,单元格类型更改为组合框...如果单元格文本是"真"必须选中复选框,如果它是假的或者没有任何内容,则必须取消选中,如果方向列中的文本在组合框值中必须设置为IN并且在其中有一个额外的选项out ... 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();
}
datagridview必须显示如下
答案 0 :(得分: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});
}