EasyUI——DataGrid中嵌入Radio

前一篇博客写到项目中的广告位管理,当时没有写到今天的问题,这个问题当时也是困扰我好久。经过自己的努力和同志们的帮助,最后终于解决。

实现要求把所有的广告位后面的单选按钮设成一组,目的是一个广告位只能显示一张图片。只是简单的在特定列添加单选按钮其实并没有太大的难度,后期还要通过选中单选按钮把选中内容传回到Controller(这里用的是MVC),从网上找了不少资料并且通过Leader
Wang的帮助,可以说实现方式有些曲折,但最终效果还是令人满意。

核心代码如下:

        <table id="tt"></table>

        $(function () {
            $('#tt').datagrid({
                url: '/AdvertisementManage/QueryAdvertisement',
                title: '广告位管理(类型一)',
                width: 700,
                height: 'auto',
                fitColumns: true,
                pagination: true,//分页显示
                rownumbers: true,
                onClickCell: onClickCell,//点击单元格触发事件
                columns: [[
                    { field: 'AdvertisementID', title: '序号', width: 90, align: 'center' },
                    { field: 'AdvertisementName', title: '赞助商', width: 111, align: 'center' },
                    { field: 'AdvertisementUrl', title: '广告位链接', width: 160, align: 'center' },
                    { field: 'TimeStamp', title: '添加时间', width: 80, align: 'center' },
                    { field: 'UserID', title: '操作员', width: 80, align: 'center' },
                    { field: 'AdvertisementLocation', title: '广告位置', width: 80, align: 'center' },
                    {
                        field: 'IsEnable', title: '是否显示', width: 60, align: 'center',

                        //调用formater函数对列进行格式化,使其显示单选按钮(所有单选按钮name属性设为统一,这样就只能有一个处于选中状态)
                        formatter: function (value, row, index) {

                            if (row.IsEnable == 1) {
                                //如果属性值等于1,则处于选中状态(默认表格中所有单选按钮最多只能有一个值等于1)
                                var s = '<input name="isShow" type="radio" checked="checked" onclick="clk()"/> ';

                            }
                            else {
                                var s = '<input name="isShow" type="radio" onclick="clk()"/> ';
                            }
                            return s;
                        }

                    }
                ]],
                onHeaderContextMenu: function (e, field) {
                    e.preventDefault();
                    if (!$('#tmenu').length) {
                        createColumnMenu();
                    }
                    $('#tmenu').menu('show', {
                        left: e.pageX,
                        top: e.pageY
                    });
                }
            });
        });

        var id = undefined;//公共变量

        //触发单元格事件
        function onClickCell(rowIndex, field, value) {
            var row = $("#tt").datagrid('selectRow', rowIndex);//返回触发单元格的行标
            var r1 = $("#tt").datagrid('getSelected');//返回被选中的行
            id = r1.AdvertisementID;//返回该行的id

        }

当选中了单选按钮,触发单元格事件就被执行,获得该单元格的所在的行对象,然后就可以得到该行任意属性了。

时间: 2024-10-28 05:47:14

EasyUI——DataGrid中嵌入Radio的相关文章

easyui datagrid 中右键出现小菜单,怎么获取列的名称

问题描述 easyui datagrid 中右键出现小菜单,怎么获取列的名称 我用的onRowContextMenu方法,但是返回的是这一行的信息,我想获取这个单元格的信息,求大神指导下 解决方案 可以用rows.field 获取获得行数据不就是一个json对象么,json对象获取到键的值不就行了 解决方案二: var row =$('#billing_grid').datagrid('getSelected'); $('#tnum400').val(row.num400); 类似这个 解决方案

easyui datagrid 中combobox显示问题

问题描述 easyui datagrid 中combobox显示问题 我的列表中有个下拉框当选择一项后页面上所显示的是代码而不是文字,我的下拉框代码如下:function addEditorPosition(){ $("#borrow_detailinfo").datagrid('addEditor',{ field:'borrow_type',title:'借款类型',width:150,align:'center', formatter: unitformatter, editor

easyui datagrid中combobox的问题

问题描述 easyui datagrid中combobox的问题 1C 如下图:这是后台编辑页面,作用为新闻的管理(新闻实体的字段"是否在前台显示"的值只有"是"和"否").我想让"是否在首页显示"这一列下面都有一个combobox,默认值为数据库中真实的值.如果某条新闻的这个字段值为"是",则对应的combobox还有一个值为"否"的option,反之对应的combobox还有一个值为

easyui datagrid 中怎么选中所有页面的数据

问题描述 easyui datagrid 中怎么选中所有页面的数据 easyui datagrid 中怎么选中所有页面的数据.我有两页数据,第一页的复选框全选后,得到两页的数据. 解决方案 easyui datagrid 的数据加载

easyui datagrid中关于编辑列保存问题

问题描述 针对DataGrid中某一列可以进行编辑,然后编辑完可以可以一行行把它更新到数据库中去,目前这个保存不知道要怎么写? 解决方案 解决方案二:官网有实例vareditIndex=undefined;functionendEditing(){if(editIndex==undefined){returntrue}if($('#dg').datagrid('validateRow',editIndex)){vared=$('#dg').datagrid('getEditor',{index:

在DataGrid中添加Radio(单选按钮)列

datagrid|按钮 <%@ Page Language="C#" AutoEventWireup="True" EnableViewState = "true"%><%@ Import Namespace="System.Data" %><html><script runat="server"> DataTable Cart; DataView CartV

Flex4 DataGrid中嵌入RadioButton实现思路及代码_Flex

<s:DataGrid id="viewDg" width="100%" height="100%" fontFamily="微软雅黑" horizontalScrollPolicy="off" borderVisible="false" dataProvider="{viewList}"> <s:columns> <s:ArrayLis

EasyUI Datagrid中editor增加onchange事件

问题描述 如图,使用EasyUIDatagrid中editor,想要实现填写车辆数,总计里自动汇总,车辆列{field:'col3',title:'辆数',width:100,align:'center',editor:{type:'numberbox',options:{required:true}}}onClickRow:function(rowIndex,rowData){vared=$('#List2').datagrid('getEditor',{index:rowIndex,fiel

combo box-easyui datagrid中combobox使用url传值时只能显示value

问题描述 easyui datagrid中combobox使用url传值时只能显示value $('#tt').datagrid({ title : 'Editable DataGrid' iconCls : 'icon-edit' width : 660 height : 250 singleSelect : true idField : 'firstname' url : '../easyuitest/testjson/datagridtest.json' columns : [ [ { f