在批处理编辑模式下在rad网格中使用的单选按钮

问题描述 投票:0回答:1

我正在尝试查找有关在批编辑模式下在rad网格中使用单选按钮的任何信息。我创建了一个模板列,然后添加了单选按钮控件,但是它在批处理编辑模式下不起作用(什么都没有保存回数据库)。可能吗我在Telerik网站上找不到任何内容,因此我怀疑它不受支持。谢谢。

radio-button telerik radgrid
1个回答
0
投票

批处理编辑模式中不支持广播列表。这种集成根本没有实现。目前最接近的可用选项是使用下拉列表:http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx。一般来说,编辑布尔字段的标准方法是通过复选框列而不是单选按钮列表-选中“已停用的复选框”列。

网格所做的是,当打开和关闭单元格时,它将使用JS代码循环遍历控件,并确定控件类型和要使用的正确API(例如,对于下拉列表为$ get()。control.get_value()或$标准输入的get()。value)。您可以尝试在批处理编辑事件中实现类似的逻辑。

您可以尝试使用RadRadioButtonList及其标记中声明的两个项目以及客户端API(请参见get_selectedIndex()和set_selectedIndex()方法:https://docs.telerik.com/devtools/aspnet-ajax/controls/radiobuttonlist/client-side-programming/radiobuttonlist-object),以及以下使用模板的方法:[ C0]。想法是使单选按钮列表位于该列的编辑模板中,并根据客户端上新打开的单元格值在其中选择正确的项目,然后从按钮列表中获取选定的项目并将其放入网格中数据源。您可以在以下线程中找到一个示例,尝试用作基础:https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/data-editing/edit-mode/batch-editing/working-with-templates

也不支持在项目模板中显示单选按钮列表,因为编辑基本上将在单元格的“显示”模式下进行,而不是在单元格的编辑模式下进行。您可以尝试使用服务器ItemDataBound事件,并且FindControl()(请参见此处:https://www.telerik.com/forums/radiobuttonlist-in-gridtemplatecolumn)可以让您基于数据源为单选按钮列表设置初始值,而无需对它们进行数据绑定。然后,可以将隐藏字段或隐藏复选框用于实际数据绑定(请参见上面的模板文章)。您也可以尝试以类似于本文的方式在单选按钮列表的客户端事件上使用批处理编辑管理器changeCellValue()方法:https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/rows/accessing-cells-and-rows#accessing-controls-in-template-column

您可以考虑的另一种方法是使用单选按钮列表的客户端事件,并在更改后立即调用将更新数据库的服务。这可以简化模板处理逻辑(您可以在只读列中执行此操作),但是它与批量编辑以调用具有大量数据的一个请求的目的背道而驰,并且您还需要确保服务的安全性。

另一个要检查的在线资源是https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/data-editing/edit-mode/batch-editing/how-to/editing-checkboxes

© www.soinside.com 2019 - 2024. All rights reserved.