【问题标题】:Disable "Add New Record" Button when page loads页面加载时禁用“添加新记录”按钮
【发布时间】:2021-12-23 01:45:57
【问题描述】:

我的页面有一个组合框,用于过滤网格值。我试图在组合框为空时禁用网格的“添加新记录”按钮,并在选择值时启用该按钮,然后加载网格。

我有以下 JavaScript 函数,它会禁用 pageLoad 上的按钮,但我以后无法启用该按钮。我该怎么办?

function pageLoad() {
                       var grid = $find("<%=grid1.ClientID %>");
                       Button1 = $telerik.findControl(grid.get_element(), "AddNewRecordButton");
                       Button1.set_visible(false);
                   }

在尝试使用 PreRender 方法后,我尝试启用组合框“SelectedChangeIndex”上的按钮,但有任何结果。

        if (radcombobox1.SelectedValue != null)
{
    GridCommandItem cmditem = (GridCommandItem)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0];
    Telerik.Web.UI.RadButton addbtn = (Telerik.Web.UI.RadButton)cmditem.FindControl("AddNewRecordButton");
    addbtn.Visible = true;
}

else
{
    // alert
} 

【问题讨论】:

  • 您是否在服务器端代码中启用该按钮,然后在客户端代码中立即禁用它?为什么有两种不同的方法?为什么不同时做服务器端或客户端?
  • 我宁愿在服务器端做,但没有得到任何结果。在客户端,我不知道该怎么做,但是如果有一个好的方法,我会尝试遵循它
  • 这取决于这里发生的整体用户体验。哪些操作会导致回发?哪些操作需要 导致回发?如果 您所做的所有 是“禁用”和“启用”(通过实际禁用或隐藏或某种 UI 更改)一个元素,那么这当然可以而且应该完全是客户端。但如果混入其中,您还有一些需要回发的操作,那么这会改变事情。
  • 是的,它只是启用/禁用操作,但是组合框/网格加载需要回发,所以我真的不知道管理这种情况的最佳方法是什么

标签: c# jquery asp.net telerik-grid telerik-combobox


【解决方案1】:

在您的页面加载中,您是否调用了 GridBind?调用 Grid Bind 后,执行 RowCount 检查其是否为 0,然后关闭按钮。不要将按钮放在网格内部,只需在网格外部添加一个按钮,这样您就可以轻松引用它来关闭它。比如:

Grid.Bind();
if(Grid.Rows.Count == 0)
{
   buttonID.Visible = false;
}
else
{
   buttonID.Visible = true;
}

【讨论】:

    【解决方案2】:

    我通过在服务器端使用grid_ItemDataBound 事件并禁用按钮来解决这个问题:

    if (RadComboBox1.SelectedItem == null) 
    {
    
        GridCommandItem cmditem = (GridCommandItem)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0];
        Telerik.Web.UI.RadButton addbtn = (Telerik.Web.UI.RadButton)cmditem.FindControl("AddNewRecordButton");
        addbtn.Visible = false; //Enabled
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2011-06-09
      • 1970-01-01
      相关资源
      最近更新 更多