如何在模板中为 GridView 中的给定行动态生成内容?

发布于 2024-09-29 17:32:01 字数 296 浏览 8 评论 0原文

我在 SQL Server 上有这样的数据:

ItemID Quantity
  1       3
  2       0
  3       7

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

当数量 > 时,绿色文本显示“库存商品”。 0

当数量 = 0 时,红色文本显示“商品不可用”

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

感谢您抽出时间。

I have data on SQL server like this:

ItemID Quantity
  1       3
  2       0
  3       7

I would like to display that data in GridView using templates. The thing is that instead of Quantity in numbers I would like to display text:

Green text saying "item on stock" when Quantity > 0

Red text saying "item unavailable" when Quantity = 0

My question is, how should I implement such functionality? How to generate such HTML tag dynamically and add it to the template?

Thanks for your time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心病无药医 2024-10-06 17:32:01

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

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");

You could check the value in the row data bound event and set the label in the template.

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


This is making the assumption your gridview is bound to a datatable (might fail if it is bound to an object array, for example, I'm not certain):

//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");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文