2009-11-20 87 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"); 

这样你保持一致。