2010-12-15 85 views
0

我有一個類似於在本Question嵌套可編輯列表視圖綁定到對象

我有嵌套在另一個列表視圖的內部一個ListView發現的問題。外部Listview綁定到代碼隱藏中的對象。

listViewOuter.DataSource = myObject[0].someProperty; 
listViewOuter.DataBind(); 

哪裏someProperty是另一個對象(mySecondObject)的列表...

內部列表視圖需要是可編輯的,它被綁定在標記在類型爲List的另一個屬性(secondObjectProperty) mySecondObject這樣:

DataSource='<%# Eval("secondObjectProperty")%>' 

這正常顯示的數據,但我無法弄清楚如何把嵌套列表視圖進入編輯模式。我正在處理OnItemEditing命令並將EditIndex設置爲正確的行,但嵌套LV的模式從不改變。我曾嘗試更新面板和重新綁定都內部和外部列表視圖的每一個可以想象的組合,但是似乎沒有任何工作

繼承人的LV標記(僞代碼)

<updatePanel> 
<asp:ListView ID="outerListView" runat="server"> 
    <layouttemplate here> 

    <itemTemplate> 
    <aspListView ID="innerListView" DataSource="<%# Eval("secondObjectPropery")% onitemEditng="editMethod"> 


    </asp:LsitView> 
    </itemTEmplate> 
</asp:ListView> 

</updatePanel 

任何想法????

回答

0

好的找到了解決方案。我沒有將標記中的嵌套列表視圖與「DataSource」標記綁定,而是將它綁定在外部列表視圖的ItemDataBound事件中。

在這個事件中,我檢查了一個editItemIndex,我將它存儲爲一個全局變量,它是通過嵌套的listviews ItemEditing事件設置的。完美的作品。

0

你有沒有在<ItemTemplate>之內的人?

<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" 
         Text="Edit" /> 
+0

我確實有一個編輯按鈕...它正在成功地解決了這個問題......我找到了一個解決方案,我現在要發佈。 – stephen776 2010-12-15 15:44:08