easyui datagrid动态列的方法

        

前台代码:

    function newDate(jhId) {
            
            $.post('../../ashx/operation/baogonglist.ashx?action=listsql', { jh: jhId },
                    function (data) {
                       alert(data.columns);
                        grid.datagrid({
                            columns: [data.columns]
                        }).datagrid("loadData", data);              
                    },"json");

        }
        $(function () {
            var kinds = request("id");
            alert("df");
            grid = $("#td").datagrid({
                fit: true,
                columns: [[]],
                toolbar: [{
                    text: "",
                    iconCls: 'icon-add',
                    handler: newDate(kinds)
                }]
            })
        })

        function test(value, row, index) {
            alert("df");
            //if (index == 2) {
            //    return ""
            //}
        }
后台代码:
<pre class="html" name="code">    private void listSqlDs(HttpContext context) {
        string jh,l_jsonstr;
        plmBLL plm = new plmBLL();
        DataSet ds = new DataSet();
        jh = context.Request["jh"];

       // ds = plmM.getSqlDs(jh);


        DataTable tab = new DataTable();
        DataTable tab2 = new DataTable();


        ds = plm.getSqlDs(jh);
        tab2 = createTable();
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            tab.Columns.Add("unitName" + i + "");
            DataRow dr = tab2.NewRow();

            dr["field"] = "unitName" + i; ;
            dr["title"] = ds.Tables[0].Rows[i]["unitName"];
            dr["align"] = "center";
            dr["width"] = 100;
//formatter列
<span style="color:#ff6666;"></span> 
            dr["formatter"] = "test";
            tab2.Rows.Add(dr);
        }
        for (int i = 1; i < ds.Tables[0].Columns.Count; i++)
        {
            DataRow dr = tab.NewRow();
            for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
            {
                dr["unitName" + j + ""] = ds.Tables[0].Rows[j][i];
            }
            tab.Rows.Add(dr);
        }
        ds.Tables.Add(tab);

        Hashtable ht = new Hashtable();
        ht.Add("total", tab.Rows.Count);
        ht.Add("columns", tab2);
        ht.Add("rows", tab);

        l_jsonstr = JsonConvert.SerializeObject(ht);
        context.Response.Clear();
        context.Response.Write(l_jsonstr);
        context.Response.End();
    }

      public DataTable createTable()
     {

        DataTable dt = new DataTable("myTable");

        //field列
        DataColumn columnField = new DataColumn();//创建一列
        columnField.DataType = System.Type.GetType("System.String");//数据类型
        columnField.ColumnName = "field";//列名
        dt.Columns.Add(columnField);//添加到table
         //title列
        DataColumn columnTitle = new DataColumn();
         columnTitle.DataType = System.Type.GetType("System.String");
         columnTitle.ColumnName = "title";
         dt.Columns.Add(columnTitle);
         //align列
        DataColumn columnAlign = new DataColumn();
         columnAlign.DataType = System.Type.GetType("System.String");
         columnAlign.ColumnName = "align";
         dt.Columns.Add(columnAlign);
         //width列
        DataColumn columnWidth = new DataColumn();
         columnWidth.DataType = System.Type.GetType("System.Int32");
         columnWidth.ColumnName = "width";
         dt.Columns.Add(columnWidth);
//formatter列:
         DataColumn columnformatter = new DataColumn();
         columnformatter.DataType = System.Type.GetType("System.String");
         columnformatter.ColumnName = "formatter";
         dt.Columns.Add(columnformatter);
        return dt;
     }
 
没加formatter列时的效果:
<img src="https://img-blog.csdn.net/20140903155935301?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTM2MzA5NnM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

加了formatter列时的效果:
 
<img src="https://img-blog.csdn.net/20140903160041773?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTM2MzA5NnM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
 
问题:加了formatter后下面的行显示不出来了,我想为第三行加一个按钮。
我的猜想,生成出来的json数据吧formatter后面的参数当做了一个字符串显示,而我在后台处理之后把生成出来的formatter后面参数的双引号去掉后也不能实现,有没有大神能解决。或者有没有更好的easyui datagrid动态生成列的方法.
先谢谢大家的解答:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值