1

我将数据表绑定到 gridview 控件,当我格式化每一列时,我需要根据该列是否具有特定的自定义属性来格式化数据。在这种情况下,一列可以表示:

  • 一个文本框(在这种情况下,我只在 gridview 中显示文本框中的文本),
  • 一个复选框(在这种情况下,我会根据列的基础数据值是 1 还是 0 显示“已选中”或“未选中”),
  • 一个单选按钮(在这种情况下,我根据列的基础数据值是 1 还是 0 显示“开”或“关”)。

问题是列数据类型是当前绑定到网格的无类型数据表中的所有字符串。并且绑定使用 autoGenerateColumns。所以:

  1. 如何将列标记为单选、文本框或复选框?
  2. 如何在绑定到网格以显示文本“选中/未选中”或“开/关”时访问该“标志”?

我希望我问对了。呸!

4

3 回答 3

2

好的 - 我使用正确的数据类型向 DataTable 列添加了扩展属性,并在 1..numColumns 的循环中检查了 GridView 的 RowDataBound 事件:

myProperty=e.Row.DataItem.dataview.table.columns(i).extendedproperties("TYPE")

并根据类型设置值 (e.Row.Cells(i).Text)。

于 2008-11-07T22:37:35.723 回答
0

最好的方法是关闭列的自动生成,然后用 TemplateFields 替换您关心的列的 BoundFields。有一个关于 ASP.NET 的教程,可以填写更多的细节。

于 2008-11-07T16:52:10.320 回答
0

我对模板字段没意见;我不知道如何将元数据添加到我可以在 GridView 数据绑定期间读取的数据表列中。例如,当我绑定到具有复选框数据的列时,我想在列中放置单词“Checked”或“Unchecked”,但我需要以某种方式注释我的数据表,使其包含列数据类型。

于 2008-11-07T18:13:55.727 回答