2012-04-11 25 views
1

私はネストされたリストビュー内の親リストビューにアクセスする際に多くの質問を見ましたが、誰も私の質問に答えていません。入れ子リストビュー

なぜ私は最初のリストビューのいくつかの特質にアクセスできず、それを2番目のリストビューに送信できませんでしたか?私は多くの異なるプロパティを試しましたが、何も動作しません。 ItemPlaceHolderまたはUser_Categoryはどうですか?私は2つのObjectDataSourecesを使ってこれを行い、DataKeyNameを親リストビューから2番目のObjectDataSourceに送信することを考えました。しかし、私はあなたが合格したいのか、

<asp:ListView ID="ListView1" runat="server" 
    DataSourceID="srcGetOrderForm" 
    DataKeyNames=User_Category 
    ItemPlaceholderID="lvItemPlaceHolder"> 

    <LayoutTemplate> 
     <asp:PlaceHolder runat="server" ID="lvItemPlaceHolder" /> 
    </LayoutTemplate> 

    <ItemTemplate> 
     <asp:Panel runat="server" ID="panelCustomerInfo" 
       cssclass="collapsePanelHeaderForFilter"> 
       <%# Eval("User_Category")%> 
     </asp:Panel>  
     <asp:panel runat="server" ID="panelCustomerDetails" 
       cssclass="collapsePanelForFilter"> 

     <asp:ListView ID="ListView2" runat="server" 
      DataSourceID="srcGetOrderForm2" 
      ItemPlaceholderID="lvOrdersItemPlaceHolder"> 

      <LayoutTemplate> 
      <ul> 
       <asp:PlaceHolder runat="server" 
        ID="lvOrdersItemPlaceHolder" /> 
      </ul> 
      </LayoutTemplate> 

      <ItemTemplate> 
      <li> 
       Description: <%# Eval("Description")%> 
      </li> 
      </ItemTemplate> 
      </asp:ListView> 

     </asp:panel> 
</ItemTemplate> 
</asp:ListView> 

    <asp:ObjectDataSource 
     ID="srcGetOrderForm" 
     TypeName = "ABC.Products" 
     SelectMethod = "NewGetOrderFormCategories" 
     runat="server" > 
     <SelectParameters> 
      <asp:ProfileParameter Name="User" PropertyName="User_ID" /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 

    <asp:ObjectDataSource 
     ID="srcGetOrderForm2" 
     TypeName = "ABC.Products" 
     SelectMethod = "NewGetOrderFormCategoryItems" 
     runat="server" > 
     <SelectParameters> 
      <asp:ProfileParameter Name="User" PropertyName="User_ID" /> 
      <asp:ControlParameter ControlID="ListView1" Name="User_Category" PropertyName=???? /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 
+0

まったく入れ替える必要がありますか? ListViewテンプレート、マスター詳細などはどうですか? – IrishChieftain

+1

すべてが言ってやったら、3つの別々のグループが必要です。私が見たすべての例では、ネストされたリストビューを使用しています。しかし、私はそれを調べます。 –

答えて

0

はそれを行うことができますが、それはすべて「合格」であなたは何を意味するかに依存DataKeyNameを取得(????下記参照)する方法がわかりません、そして値を渡したいとき。

メインリストビューの情報を子リストビューに渡す場合は、メインリストビューのItemCreatedイベントを上書きできます。この場合、Container.DataItemにアクセスすると、親リストビューの行がバインドされている現在のオブジェクトが提供されます。 FindControl関数を使用すると、内側のリストビューを見つけ出し、適切と見なすことができます。あなたはObjectDataSourceを使用することができないかもしれません。 2番目のリストビューのデータソースを直接バインドする必要があります。

+0

それも私の問題ですか? http://stackoverflow.com/questions/15077897/grab-item-id-from-parent-listview – jackncoke

関連する問題