我在asp.net应用程序中有一个ajax controltoolkit重新排序列表。
我需要禁用重新排序的某些特定步骤。这必须动态完成。所有步骤都是连续的并且从头开始,但直到运行时才知道需要禁止多少步骤被重新排序。
我为reorderlist_itemdatabound尝试了e.item.enabled = false,但这只是禁用链接。我需要禁用拖动处理程序。
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
说实话,我对这种控制并不太熟悉,但是......
您需要隐藏拖动处理程序div(或者我认为的'DragHandleTemplate'中的任何内容)和/或更改其类。两个建议:
1)添加一个javascript启动脚本以禁用有问题的div。
2)对此控件进行子类化...覆盖Render()方法。将其替换为ReorderList中的原始代码,但检查Item以查看是否应该渲染拖动句柄。
答案 1 :(得分:0)
作为禁用某些项目拖放的解决方法 - 您可以将width = 0设置为
<DragHandleTemplate> </DragHandleTemplate>
内的控件。因此,用户将无法选择拖动项目。
答案 2 :(得分:0)
假设您在dragme
中有一个ID为DragHandleTemplate
的图片;你可以在ItemDataBound
处理程序中执行此操作:
Image dragMe = (Image)((TableRow)e.Item.Controls[0].Controls[0]).Cells[0].Controls[0].FindControl("dragMe");
dragMe.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");
这样可以保留对齐方式。