jQuery MiniUI

 找回密码
 立即注册
查看: 15074|回复: 14
打印 上一主题 下一主题

太悲催了,为什么我的datagrid数据显示不了 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2012-8-10 17:50:22 |只看该作者 |倒序浏览
html:

    <div id="datagrid1" class="mini-datagrid" style="width:725px;height:250px;"
        url="miniuiDataService/AjaxService.aspx?method=SearchProducts"  idField="ID"
        multiSelect="true" allowResize="true" >
        <div property="columns">            
            <div type="checkcolumn"></div>            
            <div field="Text" width="120"  allowSort="true">产品名称</div>               
            <div field="Area" width="100" allowSort="true">地区</div>            
            <div field="Amount" width="100" allowSort="true">金额</div>
            <div field="PointNo" width="100" allowSort="true">MYCARD</div>                  
            <div field="Tiem" width="100" dateFormat="yyyy-MM-dd" allowSort="true">修改日期</div>

        </div>
    </div>

    <div>

    <input type="button" value="显示Json 数据" />
    <br />
    <fieldset>
    <legend>获取json数据</legend>
    <div id="jsonData"></div>
    </fieldset>

    </div>

    <script type="text/javascript">
        mini.parse();
        var grid = mini.get("datagrid1");
        grid.load();

//showData是我用来测试返回的json数据的,返回没有错误。
function showData() {
            $.ajax({
                type: "Post",
                //发送参数,调用处理方法,返回结果,在页面显示
                url: "miniuiDataService/AjaxService.aspx/GetJson",
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                //返回结果
                success: function (data) {
                    $('#jsonData').html(data.d);
                },
                error: function (err) {
                    alert(err);
                }
            })
        }

  </script>

//服务端我也写了个测试写入读取json的方法返回的json文本数据如下

{"total":2,

"data":[
{"Area":"1",
"ID":"201207181717064687",
"PointNo":"400點",
"Units":"元",
"Time":"2012-07-18T17:17:36",
"VersionType":"",
"Text":"一個遊戲帳號30天",
"IbonPrice":"",
"Name":null,
"NetCardpoint":"點",
"Amount":"250",
"AreaName":"台灣"
},
{"Area":"1",
"ID":"201207181717277187",
"PointNo":"800點",
"Units":"元",
"Time":"2012-07-18T17:17:27",
"VersionType":"",
"Text":"一個遊戲帳號90天",
"IbonPrice":"",
"Name":null,
"NetCardpoint":"點",
"Amount":"500",
"AreaName":"台灣"
}
]}


我很纳闷,我再下载的用例里边扩展,可以显示,但是在我自己的项目里边就显示不出来,js,css路径都没有错误,为什么会这样呢,哪位大侠帮帮我。




Rank: 9Rank: 9Rank: 9

沙发
发表于 2012-8-10 18:04:13 |只看该作者
用datagrid,你根本不需要自己写ajax...
不要事情复杂化啊

这里有表格分页加载的教程:
http://www.miniui.com/docs/tutorial/datagrid.html

Rank: 1

板凳
发表于 2012-8-10 21:40:01 |只看该作者
niko 发表于 2012-8-10 18:04
用datagrid,你根本不需要自己写ajax...
不要事情复杂化啊

我知道不用自己写AJAX,这里的AJAX是我用来测试获取的json数据,我也是按照你们的例子来做的,在你们的例子里面我进行扩展,可以正常显示,所以我就搬来自己的项目里了,但是在我自己的项目里就显示不了,不知哪里出问题了。

Rank: 9Rank: 9Rank: 9

地板
发表于 2012-8-11 10:10:43 |只看该作者
可能是你自己项目中编码有问题把。

Rank: 1

5#
发表于 2012-8-11 13:29:41 |只看该作者
本帖最后由 oypx1234 于 2012-8-11 13:38 编辑
niko 发表于 2012-8-11 10:10
可能是你自己项目中编码有问题把。

我的服務端代碼這樣寫的
protected void Page_Load(object sender, EventArgse)

        {

        String methodName = Request["method"];//这边断点跟踪得到SearchProducts,即我下面的方法

           Type type = this.GetType();

           MethodInfo method =type.GetMethod(methodName);

           if (method == null)throw new Exception("methodis null");

           try

           {

               method.Invoke(this, null);

           }

           catch (Exceptionex)

           {

                Hashtableresult = new Hashtable();

               result["error"] = -1;

               result["message"] =ex.Message;

               result["stackTrace"] =ex.StackTrace;

               String json = PluSoft.Utils.JSON.Encode(result);

                Response.Clear();

               Response.Write(json);

           }

           finally

           {

           }

        }

        public voidSearchProducts()

        {

           //查询条件

           string key = Request["key"];

           //分页

           int pageIndex = Convert.ToInt32(Request["pageIndex"]);

           int pageSize = Convert.ToInt32(Request["pageSize"]);

           //字段排序

           String sortField = Request["sortField"];

           String sortOrder = Request["sortOrder"];

           //业务层:数据库操作

           Hashtable result = new TestDB().SearchProducts(key,pageIndex, pageSize, sortField, sortOrder);

           //JSON

           String json = PluSoft.Utils.JSON.Encode(result);

           Response.Write(json);

        }

    }

  上面的json 可以正常返回



Rank: 9Rank: 9Rank: 9

6#
发表于 2012-8-11 19:22:13 |只看该作者
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显示,动态的话也可以。

Rank: 1

7#
发表于 2012-8-12 10:50:18 |只看该作者
niko 发表于 2012-8-11 19:22
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显 ...

哦,谢谢你,我试看看,我有生成txt文件,但我都忘记了可是使用url指向txt文件测试一下,谢谢,明天测试看看。

Rank: 1

8#
发表于 2012-8-13 10:25:35 |只看该作者
niko 发表于 2012-8-11 19:22
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显 ...

太奇怪了,用url指向生成的txt文件可以显示,可是用页面+方法名竟然不可以。

Rank: 9Rank: 9Rank: 9

9#
发表于 2012-8-13 13:52:59 |只看该作者
肯定是可以的。
你这样做:先基于官方DEMO,实现后台交出。
然后,新建一个项目,把代码考虑进去,没有理由产生不了JSON。
miniui与后台唯一的关系,就是要求后台生成JSON数据。

Rank: 1

10#
发表于 2012-8-13 16:39:50 |只看该作者
niko 发表于 2012-8-13 13:52
肯定是可以的。
你这样做:先基于官方DEMO,实现后台交出。
然后,新建一个项目,把代码考虑进去,没有理由 ...

我在官方DEMO里面实现可以实现,自己项目里也可以生成json但是前台还是不行,

我现在把它分离出来新建一个项目,还是不行,源码在这边,要不你帮我看下,非常感谢


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Archiver|普加软件

GMT+8, 2024-9-30 10:26 , Processed in 1.026361 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部