jQuery MiniUI

标题: datagrid加载数据问题 [打印本页]

作者: dianaly122    时间: 2014-1-22 09:31:26     标题: datagrid加载数据问题

如何根据选中的tree的节点的id在datagrid中显示相应的详细信息啊
//得到tree
        var tree = mini.get("tree1");
        //供应商信息
        var grid2 = mini.get("Div1");
tree.on("nodeselect", function (e) {
            if (e.isLeaf) {
                grid2.load({ PlusId: e.node.id });
            } else {
                grid2.setData([]);
                grid2.setTotalCount(0);
            }
        });
这样为什么不加载啊

作者: felt    时间: 2014-1-22 09:41:11

var node=e.node
tree.isLeaf(node)  来判断是不是子节点
作者: dianaly122    时间: 2014-1-22 09:47:04

felt 发表于 2014-1-22 09:41
var node=e.node
tree.isLeaf(node)  来判断是不是子节点

判断了还是不行啊   var tree = mini.get("tree1");
        //供应商信息
        var grid2 = mini.get("Div1");
        tree.on("nodeselect", function (e) {
            var s = tree.isLeaf(e.node);
            if (s) {
                grid2.load({ PlusId: e.node.id });
            } else {
                grid2.setData([]);
                grid2.setTotalCount(0);
            }
        });
       这是上面的写法  <div id="Div1" class="mini-datagrid" style="width:1400px;height:280px;" allowResize="true"
        url="../../page/ChoosePlus.aspx?method=SearchSupplier"  idField="id" multiSelect="true" >

这是后台的写法
public void SearchSupplier()
    {
        string plusid=Request.QueryString["key"];
        string json = new JavaScriptSerializer().Serialize(supplinfo.GetSupplierBuPlusId(Convert.ToInt32(plusid)));
        Response.Write(json);
    }
作者: felt    时间: 2014-1-22 09:51:33

dianaly122 发表于 2014-1-22 09:47
判断了还是不行啊   var tree = mini.get("tree1");
        //供应商信息
        var grid2 = mini.ge ...

  string plusid=Request.QueryString["PlusId"];
作者: dianaly122    时间: 2014-1-22 10:02:38

felt 发表于 2014-1-22 09:51
string plusid=Request.QueryString["PlusId"];

我试过了不行,grid2.load({ PlusId: e.node.id });
string plusid=Request.QueryString["PlusId"];还是不显示啊
作者: factory    时间: 2014-1-22 10:08:20

dianaly122 发表于 2014-1-22 10:02
我试过了不行,grid2.load({ PlusId: e.node.id });
string plusid=Request.QueryString["PlusId"];还是 ...

获取字段都正确,那你调试看啊, 到底数据有没有穿到后台了.后台正确获取到前台传过来的参数,有没有正确去数据获取到数据,你得调试啊.

你光贴这样的后台代码,眼睛是看不出来的
作者: dianaly122    时间: 2014-1-22 10:19:37

factory 发表于 2014-1-22 10:08
获取字段都正确,那你调试看啊, 到底数据有没有穿到后台了.后台正确获取到前台传过来的参数,有没有正确去 ...

这个原理我不是很清楚啊 grid2.load({ PlusId: e.node.id });是什么意思?不是吧PlusId的值传到后台吗?
<div id="Div1" class="mini-datagrid" style="width:1400px;height:280px;" allowResize="true"
        url="../../page/ChoosePlus.aspx?method=SearchSupplier"  idField="id" multiSelect="true" >
这里面URL只有method我得到了SearchSupplier(),在SearchSupplier()的方法中我要如何得到我选中的节点的id?????
作者: factory    时间: 2014-1-22 11:01:34

dianaly122 发表于 2014-1-22 10:19
这个原理我不是很清楚啊 grid2.load({ PlusId: e.node.id });是什么意思?不是吧PlusId的值传到后台吗?
...

jquery的ajax有了解过吗? datagrid内部就是ajax交互的, 把你的{ PlusId: e.node.id } 作为ajax的data,传递到后台

后台request["PlusId"]就能获取到e.node.id 的值
作者: dianaly122    时间: 2014-1-22 12:47:48

factory 发表于 2014-1-22 11:01
jquery的ajax有了解过吗? datagrid内部就是ajax交互的, 把你的{ PlusId: e.node.id } 作为ajax的data,传 ...

我在后台无法得到  string plusid = Request.QueryString["plusid"]值为空,这是为什么啊,即使我给plusid一个值 string json = new JavaScriptSerializer().Serialize(supplinfo.GetSupplierBuPlusId(Convert.ToInt32(1)));这样Jason有值,可是前台的datagrid值也不显示
作者: factory    时间: 2014-1-22 13:44:00

dianaly122 发表于 2014-1-22 12:47
我在后台无法得到  string plusid = Request.QueryString["plusid"]值为空,这是为什么啊,即使我给plusi ...

大小写,你request的字段名要跟你写的一样啊
作者: dianaly122    时间: 2014-1-22 14:42:49

factory 发表于 2014-1-22 13:44
大小写,你request的字段名要跟你写的一样啊

我解决了, string plusid = Request["PlusId"];我很好奇为什么去掉QueryString就行了
作者: factory    时间: 2014-1-22 15:00:17

dianaly122 发表于 2014-1-22 14:42
我解决了, string plusid = Request["PlusId"];我很好奇为什么去掉QueryString就行了

就是request["field"]. 看我们的demo后台
作者: dianaly122    时间: 2014-1-22 15:14:54

factory 发表于 2014-1-22 15:00
就是request["field"]. 看我们的demo后台

谢谢啊,这个datagrid真的很方便,就是上手不容易啊




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2