2009-03-04 17 views
2

階層データを表示するためにネストされたデータリストを使用しています。ネストされたデータリストでは、親データリストがバインドされているオブジェクトに属するプロパティにバインドできます。ASP.netのネストされたデータリスト

どのように私はこれを達成することができます知っていますか?

+0

データ構造はどのように見えますか? – cgreeno

答えて

1

これをアーカイブするためのきれいな方法はわかりません。

ハックあなたが試してみたい(ない)ことがあります。

<%# 
    (DataBinder.GetDataItem(Container.BindingContainer...BindingContainer) as AType) 
    .PropertyOfParentsDataListDataItem 
%> 

または

<%# 
    Eval(
     DataBinder.GetDataItem(Container.BindingContainer...BindingContainer) 
     ,"PropertyOfParentsDataListDataItem" 
    ) 
%> 
1

私はインラインどのように行うのか分からないが、あなたがOnItemDataBoundにフック場合に使用することができます以下のコード:

Protected Sub YourList_ItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs) Handles YourList.ItemDataBound 

    If e.Item.ItemType = ListItemType.Item Or _ 
    e.Item.ItemType = ListItemType.AlternatingItem Then 

    CType(e.Item.FindControl("LabelName"), Label).Text = _ 
     DataBinder.Eval(CType(sender.Parent, DataListItem).DataItem, "FieldName")) 

    End If 

End Sub 

やC#(未確認)

Protected Void YourList_ItemDataBound(Object sender, DataListItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
    ((Label)e.Item.FindControl("LabelName")).Text = 
     DataBinder.Eval(((DataListItem)sender.Parent).DataItem, "FieldName"); 

    } 
} 
関連する問題