0

我在这里遇到了一些麻烦。

我从我的数据库中获得了一个 DataTable,我想用它作为我的 GridView 的数据源。

问题:当我用我的 DataTable 设置这个 GridView 的数据源时,什么也没有发生。但是,如果我设置另一个组件(如 ListItem)的数据源,则会显示数据。

我该怎么办?按照下面的代码:

<!-- Here I have a ListView. When I set the datasource, the data is showed. -->
<asp:ListView ID="listviewCustomers" runat="server">
    <ItemTemplate>
        <asp:Label runat="server" ID="myLabel" text="<%# bind('Name') %>" />
    </ItemTemplate>
</asp:ListView>


<!-- Here I have a GridView. When I set the datasource, nothing happens. -->
<asp:GridView runat="server" ID="gridviewPassageiros">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
            <asp:Label runat="server" ID="myLabel" text="<%# bind('Name') %>" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
4

4 回答 4

1

最简单的情况可能是缺少对“gridviewPassageiros”的“DataBind”的调用。另一种选择是添加虚拟内容。

代码隐藏

public void Page_OnLoad(object sender, EventArgs eventArgs)
{
  if (!IsPostback)
  {
    gridviewPassageiros.DataSource = GetPassageiros();
    gridviewPassageiros.DataBind();
  }
}

ASPX:

<asp:GridView runat="server" ID="gridviewPassageiros">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
            <h1>TEST</h1>
            <asp:Label runat="server" ID="myLabel" text="<%# bind('Name') %>" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

评论代码:

DAOPassenger objDAOPassenger = new DAOPassenger(); 
gridviewPassageiros.DataSource = objDAOPassenger.GetAllPassangers(); 
gridviewPassageiros.DataBind(); 

你检查过,结果GetAllPassangers吗?

于 2012-07-26T11:13:45.993 回答
0

缺少 DataSourceID .. 即没有向您的网格提供数据源。

于 2012-07-26T11:28:30.917 回答
0

尝试使用

<asp:Label ID="myLabel" runat="server" Text='<%# Eval("Name") %>'></asp:Label>

还要确保正确绑定数据

例如

 if (dt.Rows.Count>0) 
 {
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 
 }  
于 2012-07-26T11:10:02.827 回答
0

我在您的代码中看到两个问题:试试这个

Text='<%# Bind("Name") %>'

安装的

text="<%# bind('Name') %>"

我也看不到您的代码中的 DataSourceID

希望我有所帮助

于 2012-07-26T11:13:08.167 回答