0

ここで問題が発生しました。

データベースから DataTable を取得しました。それを GridView のデータソースとして使用したいと考えています。

問題: この GridView のデータソースを DataTable に設定しても、何も起こりません。しかし、別のコンポーネント (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" への呼び出しが欠落している可能性があります。もう 1 つのオプションは、ダミー コンテンツを追加することです。

コードビハインド

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

あなたのコードに2つの問題があります:これを試してください

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

の代わりに

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

また、コードに DataSourceID が表示されません

お役に立てば幸いです

于 2012-07-26T11:13:08.167 に答える