javascript - 在 Telerik RadGrid 中单击复选框打开对话框窗口

标签 javascript asp.net checkbox telerik telerik-grid

我有一个带有 GridTemplate 列的 Telerik RadGrid,其中有一个 asp:CheckBox。我选择使用 GridTemplate 列而不是 GridCheckBoxColumn 或 ClientSelectColumn,因为我希望用户能够选中该框,并在选中该复选框时单击该复选框,打开一个对话框窗口,以便他们将附件上传到记录。我不确定如何在网格内单击复选框时打开 RadWindow。

我试图实现的总体目标如下:
我有一个看起来像 list 的网格。如果用户连续选中该复选框,则意味着他们必须为其上传文档,以便打开一个对话框窗口,其中包含一个小的上传表单。一旦他们点击“保存”,窗口将关闭,网格将重新绑定(bind)一个链接,以查看下一列中的附件。如果有人有更好的工作流程,我愿意接受建议,否则任何有关如何做这样的事情的建议将不胜感激。

最佳答案

至于打开 RadWindow 的命令,我也会采用与 Mark 提议的类似的方式。没有理由使用复选框作为按钮,因为这是此类控件的功能,并且您不需要使用其状态而不是命令。

添加按钮列并设置其CommandName="something"

在网格中创建事件 itemCommand 并在后面的代码中添加如下内容:

if (e.CommandName == "something")
    {

        if (e.Item is RadGridDataItem)
        {  
            RadGridDataItem item = e.Item as RadGridDataItem;
            string script = "function f(){openRadWindow(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);  
        }
    }

添加你的JS:

function openRadWindow() {
        var radwindow = $find('<%=RadWindow1.ClientID %>');
        radwindow.show();
    }

添加您的 radWindow:

<telerik:RadWindow ID="RadWindow1" VisibleOnPageLoad="false" OnClientClose="//here you can generate the event to rebind your grid and show the update" runat="server" Width="450px" Height="650px" NavigateUrl="Window1.aspx" >
                    </telerik:RadWindow>

创建页面 Window1.aspx 并在其中详细说明加载该文件的逻辑。

另一种更简单的方法可能是使用 edit template form而不是 radWindow 并在其中添加 asyncUploader 以及您可能需要填写的其他控件,以避免必须获取所有引用以将输入关联到记录。

关于javascript - 在 Telerik RadGrid 中单击复选框打开对话框窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043158/

相关文章:

c# - NVarChar 到 C# 数据类型

php - 使用复选框过滤多个类别

javascript - 如何仅向 React 中特定单击的元素添加类?

javascript - 深度链接基础 5 个选项卡

asp.net - 允许冒号(IIS/Azure 中的 :) in URL for ASP. NET Core

asp.net - 如何将值传递给部分标签助手? (ASP.NET 核心)

javascript - 打印特定 div 时出现问题

javascript - 单击 chceckbox 时切换启用和禁用 div 中的所有输入

javascript - 如何仅当鼠标悬停在元素上至少 1 秒时才触发 mouseover 事件?

javascript - 如何从 View 中删除逻辑