【发布时间】:2015-05-01 18:49:28
【问题描述】:
我正在制作一个包含动态 gridView 的 ASP.Net 网页。 用户应该能够通过用户名在gridView中搜索特定的行;
其中一个字段包含一个复选框,我无法将其加载到数据集中。这是我的代码的一部分:
DataTable container = new DataTable();
DataRow convertedForTable = container.NewRow();
DataSet final = new DataSet();
container.Columns.Add(new DataColumn("Username", typeof(string)));
container.Columns.Add(new DataColumn("TimeJoined", typeof(DateTime)));
container.Columns.Add(new DataColumn("Email", typeof(string)));
container.Columns.Add(new DataColumn("Banned", typeof(CheckBoxField))); // Here the problem starts
container.Columns.Add(new DataColumn("Admin", typeof(CheckBoxField))); // That is also a checkboxField.
container.Columns.Add(new DataColumn("Options", typeof(object))); // And that's a GridView edit field. I have no idea what type it is.
object[] rowArray = new object[myRow.Cells.Count];
for (int i = 0; i < myRow.Cells.Count; i++)
rowArray[i] = myRow.Cells[i].Text;
convertedForTable.ItemArray = rowArray;
container.Rows.Add(convertedForTable);
final.Tables.Add(container);
Cache["Users"] = final; // From the cache, the dataset is later loaded & displayed.
不管怎样,我明白了。
值的类型与列类型不匹配无法在禁止列中存储 。预期类型是 CheckBoxField。
我理解这个错误,虽然我不知道如何修复它。我应该在这些列中输入什么类型?
【问题讨论】:
-
@Mate 尝试过,得到相同的消息(“预期类型为布尔值”)
-
@Mate 这是一个复选框 - 调试器读取
<> -
@A.Abramov 看看我的回答,如果你解决了,请告诉我。
标签: c# asp.net gridview types dataset