【问题标题】:Dynamically generated content in template for given row in GridView, how?GridView中给定行的模板中动态生成的内容,如何?
【发布时间】:2011-05-02 10:18:30
【问题描述】:

我在 SQL 服务器上有这样的数据:

ItemID Quantity
  1       3
  2       0
  3       7

我想使用模板在 GridView 中显示该数据。问题是我想显示文本而不是数字中的数量:

当数量 > 0 时,绿色文字显示“有货”

当数量 = 0 时,红色文字显示“项目不可用”

我的问题是,我应该如何实现这样的功能?如何动态生成这样的 HTML 标签并添加到模板中?

感谢您的宝贵时间。

【问题讨论】:

    标签: c# asp.net gridview dynamic-content


    【解决方案1】:

    您可以检查行数据绑定事件中的值并在模板中设置标签。

    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx


    这是假设您的 gridview 绑定到数据表(如果它绑定到对象数组可能会失败,例如,我不确定):

    //To get bound data
    DataRowView rowView = (DataRowView)e.Item.DataItem;
    object value = rowView["columnName"];
    
    //To get a control
    TextBox txtName = (TextBox)e.Item.FindControl("txtName");
    

    【讨论】:

    • 谢谢,我已经阅读了这篇文章。但是文章说关于修改 Cells 属性。如何获取对当前单元格模板的引用?还是我猜的当前行?
    • 我应该在事件发生时构建我的模板并通过:e.Row.TemplateControl 分配它吗?
    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2014-07-14
    • 1970-01-01
    • 2014-09-23
    相关资源
    最近更新 更多