C# 网格OnDataItemBound事件

C# 网格OnDataItemBound事件,c#,asp.net,datagrid,webforms,C#,Asp.net,Datagrid,Webforms,这个方法应该包含什么?我有一个显示SQL查询结果的网格,但该网格从未填充。网格是使用HTML创建的,这就是我的OnDataItemBound事件的读取方式……但是这里应该做什么呢 protected void dtgfourfiveseven_OnItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemTy

这个方法应该包含什么?我有一个显示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>

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

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

一个常见的例子是操作查询返回的数据。即,将列格式化为货币

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

编辑--
我想到的第二个想法是,您是否设置了grid.visible=false,以后没有设置为true,以便网格显示您的数据?您的.aspx文件中的网格代码是什么样子?@ekad这就是您需要看到的吗?