【问题标题】:Grid OnDataItemBound Event网格 OnDataItemBound 事件
【发布时间】:2015-08-05 10:31:22
【问题描述】:

这个方法里面应该有什么?我有一个网格显示我的 SQL 查询的结果 --- 但网格永远不会填充。网格是使用 HTML 创建的,这就是我的 OnDataItemBound 事件的读取方式....但是这里应该怎么做呢?

protected void dtgfourfiveseven_OnItemDataBound(object sender, DataGridItemEventArgs e)
{
  if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
  {                                                   

  }
}

这是我用来创建网格的 html

<asp:DataGrid runat="server" ID="dtgfourfiveseven" AutoGenerateColumns="false" CssClass="DataGrids"
GridLines="Both" ShowFooter="true" Visible="false" OnItemDataBound="dtgfourfiveseven_OnItemDataBound">
<ItemStyle CssClass="row" />
<FooterStyle CssClass="DataGridFooters" />
<HeaderStyle CssClass="DataGridHeaders" />
<Columns>
    <asp:BoundColumn DataField="Employee Name" HeaderText="Employee Name" ItemStyle-Width="100px"></asp:BoundColumn>
    <asp:BoundColumn DataField="Eligible For Rehire" HeaderText="Eligible For Rehire" ItemStyle-Width="50px"></asp:BoundColumn>
    <asp:BoundColumn DataField="Not Eligible For Rehire" HeaderText="Not Eligible For Rehire" ItemStyle-Width="50px"></asp:BoundColumn>
</Columns>

【问题讨论】:

  • .aspx 文件中的网格代码是什么样的?
  • @ekad 是你想看的吗?

标签: c# asp.net datagrid webforms


【解决方案1】:

在我看来,OnDataItemBound 事件并不是阻止数据显示的原因。您的查询返回 0 行,或者您没有将查询结果绑定到网格。根据 MSDN,这就是您使用 OnDataItemBound 事件的目的:

使用 ItemDataBound 事件自定义 DataGrid 控件。 ItemDataBound 事件允许您在项目显示在控件中之前访问数据。

这方面的一个常见示例是操作从您的查询返回的数据。 IE。将列格式化为货币。

感谢您提供有关如何通过 html 实际生成网格的代码,但也请提供其他代码。展示您实际执行 SQL 查询的方式,以及您实际将查询结果绑定到网格的方式,这将使我们能够进一步协助排除这里的罪魁祸首。

编辑—— 想到的第二个想法,这可能是一个快速检查的事情是,您是否设置了 grid.visible = false 并且稍后没有将其设置为 true 以便网格显示您的数据,它只是没有显示在页面上?

【讨论】:

    猜你喜欢
    • 2013-02-21
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多