2009-11-20 50 views
0

我有一個asp.net應用程序內的ajax controltoolkit重新排序列表。ASP.NET Ajax ReOrderList - 禁止拖放特定項目的任何方法?

我需要禁用某些特定的步驟重新排序。這必須動態完成。所有的步驟都是連續的,從頭開始,但是直到運行時才知道有多少需要被禁用,以便進一步重新排序。

我試過reorderlist_itemdatabound的e.item.enabled = false,但這只是禁用鏈接。我需要禁用拖動處理程序。

任何幫助是極大的讚賞。謝謝!

回答

0

說實話,我不是太熟悉的控制,但...

你需要隱藏拖動處理程序股利(或無論是在「DragHandleTemplate」我相信)和/或改變它的類。兩個建議:

1)添加一個JavaScript啓動腳本來禁用有問題的div。

2)此控件的子類...重寫Render()方法。將其替換爲ReorderList中的原始代碼,但檢查Item以查看是否應呈現拖動手柄。

0

作爲解決方法,禁用某些項目的拖放 - 您可以將寬度設置爲0到

<DragHandleTemplate> </DragHandleTemplate>
之內的控件。因此用戶將無法挑選該物品進行拖拽。

0

假設您的圖像編號爲dragme,在DragHandleTemplate;你可以在ItemDataBound處理程序做到這一點:

Image dragMe = (Image)((TableRow)e.Item.Controls[0].Controls[0]).Cells[0].Controls[0].FindControl("dragMe"); 

dragMe.Style.Add(HtmlTextWriterStyle.Visibility, "hidden"); 

這樣你保持一致。