我有一个按钮如下:
RadButton lnkAdd = new RadButton();
lnkAdd.ID = "BtnAdd";
lnkAdd.CommandName = RadGrid.InitInsertCommandName;
lnkAdd.Text = "Add New Record";
lnkAdd.Style.Add("display", "none");
container.Controls.Add(lnkAdd);
我想点击网格中的一行来启用它。我有以下JavaScript来执行此操作:
function OnRowSelected(sender, args) {
var clientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];
var clientDataKeyValue = args.get_tableView().get_selectedItems()[0].getDataKeyValue(clientDataKeyName);
var grid = args.get_tableView();
var linkButton1 = $telerik.findControl(grid.get_element(), "BtnAdd");
if (clientDataKeyValue == "Proposal") {
linkButton1.set_enabled(false);
}
else
linkButton1.set_enabled(true);
}
虽然它已到达linkButton1.set_enabled(true)
,但该按钮未启用。
我还尝试了以下操作来启用按钮linkButton1.style.display = "block";
但这会引发错误:
SCRIPT5007:无法设置属性'显示'未定义或null 参考
虽然它找到了按钮,但样式呈现为未定义。
答案 0 :(得分:1)
由于您只通过其显示CSS属性隐藏了按钮的主包装元素,因此您应该使用相同的东西再次显示它:
linkButton1.get_element().style.display="inline-block";
答案 1 :(得分:0)
可以使用IsEnabled属性启用和禁用任何UIControl(包括RadioButtons)。基本上,您只需将按钮设置为
即可linkButton1.IsEnabled = false;
要禁用按钮和
linkButton1.IsEnabled = true;
重新启用它。希望有所帮助。