gpt4 book ai didi

c# - 如何将复选框添加到绑定(bind)到数据源的数据 GridView ?

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:49 25 4
gpt4 key购买 nike

我是 C# 的新手。我需要在我的 datagridview 的“已选择”列中有一个复选框字段,而不是当前显示的“False”(或“True”)文本。这个datagridview是databound的,通过读取一个xml文件获取数据。我怎样才能做到这一点?

在写入 xml 文件之前,这就是我所做的。

DataTable dtGens = new DataTable(); //creates a new Datatable object for the Gens

dtGens.TableName = "Gen Types";

DataColumn dc1 = new DataColumn("Generator");
DataColumn dc2 = new DataColumn("alpha");
DataColumn dc3 = new DataColumn("beta");
DataColumn dc4 = new DataColumn("circuit breaker");
DataColumn dc5 = new DataColumn("description");
DataColumn dc6 = new DataColumn("Selected",System.Type.GetType("System.Boolean"));

dtGens.Columns.Add(dc1); //associates the columns to the dtGens datatable
dtGens.Columns.Add(dc2);
dtGens.Columns.Add(dc3);
dtGens.Columns.Add(dc4);
dtGens.Columns.Add(dc5);
dtGens.Columns.Add(dc6);

DataRow drow;
for (int i = 0; i < 50; i++)
{
drow = dtGens.NewRow();
drow["Generator"] = "Gen " + (i + 1).ToString();
drow["alpha"] = 0.0;
drow["beta"] = 0.0;
drow["circuit breaker"] = 0.0;
drow["description"] = "myGen";
drow["Selected"] = false;
dtGens.Rows.Add(drow);

}

//creates a new DataSet Object that will help write generator data to XML
DataSet feederProject = new DataSet();
feederProject.Tables.Add(dtGens);
feederProject.WriteXml("Generators.xml");
//preview
DataSet feederProject = new DataSet();
feederProject.ReadXml("Generators.xml");
dataGridViewLoadsDGs.DataSource = feederProject.Tables[0];

最佳答案

绑定(bind)到 bool 类型的列会自动显示复选框。问题是 DataTable 的架构信息在写入 XML 时丢失了。为防止这种情况,您可以使用 an overload of DataSet.WriteXml这需要 XmlWriteMode作为参数,它允许您选择写入架构信息。

feederProject.WriteXml("Generators.xml", XmlWriteMode.WriteSchema);

关于c# - 如何将复选框添加到绑定(bind)到数据源的数据 GridView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com