2

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

誰も私がこれを達成する方法を知っていますか?

4

2 に答える 2

1

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

試してみたい(したくない)かもしれないハック:

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

また

<%# 
     Eval(
        DataBinder.GetDataItem(Container.BindingContainer...BindingContainer)
        ,"PropertyOfParentsDataListDataItem"
     )
 %>
于 2009-03-04T19:38:30.887 に答える
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");

  }
}
于 2009-08-25T13:37:21.743 に答える