`
sammyfun
  • 浏览: 1163466 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jsonstr

    博客分类:
  • sjon
 
阅读更多
http://jiangzhengjun.iteye.com/blog/467246

http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html
http://jiangzhengjun.iteye.com/blog/467276

http://jackyrong.iteye.com/blog/1662623


EXTjs 分页combox 

2012-05-22 14:22:02|  分类: Extjs学习 |举报|字号 订阅
    <title>Combox</title>
    <link href="../../ExtJs/ext-2.0.2/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
    <link href="../../ExtJs/ext-2.0.2/examples/examples.css" rel="stylesheet" type="text/css" />

    <script src="../../ExtJs/ext-2.0.2/adapter/ext/ext-base.js" type="text/javascript"></script>
    <script src="../../ExtJs/ext-2.0.2/ext-all.js" type="text/javascript"></script>
    <script src="../../ExtJs/ext-2.0.2/build/locale/ext-lang-zh_CN.js" type="text/javascript"></script>
   
    <%--Microsoft JScript 运行时错误: 对象不支持“createContextualFragment”属性或方法--%> 
    <script type="text/javascript">
        if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragment) {
            Range.prototype.createContextualFragment = function (html) {
                var frag = document.createDocumentFragment(),
                        div = document.createElement("div");
                frag.appendChild(div);
                div.outerHTML = html;
                return frag;
            };
        }
    </script>

    <script type="text/javascript">
        Ext.onReady(function () {

            var proxy = new Ext.data.HttpProxy({
                url: '/Fenye/GetCombox/'
            });

            var city = new Ext.data.Record.create([
              { name: 'ID', type: 'int', mapping: 'ID' },
              { name: 'Produce', type: 'string', mapping: 'Produce' }
            ]);

            var reader = new Ext.data.JsonReader({
                totalProperty: 'totalProperty',
                root: 'root'
            }, city);

            var store = new Ext.data.Store({
                proxy: proxy,
                reader: reader
            });

            var combo = new Ext.form.ComboBox({
                store: store,
                emptyText: '请选择',
                mode: 'remote',
                pageSize: 8, //设置每页显示的条数
                triggerAction: 'all',
                displayField: 'Produce',
                valueField: 'ID',
                renderTo: Ext.getBody(),
                readOnly: true,
                listWidth: 240 //设置下拉框的宽度
            });
            //combo 选中事件
            combo.on('select', function () {
                Ext.MessageBox.alert("提示:", "真实值:" + combo.getValue() + "; 显示值:" + combo.getRawValue());
                //在这里,你可以根据选中的值,进行其他的操作。比如是级联。
            });
        });
    </script>

</head>
<body>
    <div>
   
    </div>
</body>
</html>

后台分页代码:我用的是mvc框架

        public string GetCombox()
        {
            int start =int.Parse(Request.Params["start"].ToString());//起始值
            int limit = int.Parse(Request.Params["limit"].ToString());//页大小

            int end = start + limit;//终止值
            Maticsoft.BLL.shop vshop = new shop();

            string sql = string.Format("ID in(select top {0} ID from shop ) and ID not in (select top {1} ID from shop)",end,start);
            DataTable vTable = vshop.GetList(sql).Tables[0];

            if (vTable != null && vTable.Rows.Count > 0)
            {
                StringBuilder vlist = new StringBuilder();
                vlist.Append("{totalProperty:" + vshop.GetRecordCount("1=1"));
                vlist.Append(",root:[");
                foreach (DataRow vRow in vTable.Rows)
                {
                    vlist.Append("{");
                    vlist.Append("ID:" + "'" + Convert.ToInt32(vRow["ID"].ToString()) + "'");
                    vlist.Append(",Produce:" + "'" + vRow["Produce"].ToString() + "'");
                    vlist.Append("},");
                }
                vlist.Remove(vlist.Length - 1, 1);
                vlist.Append("]}");
                return vlist.ToString();
            }
            return null;
        }


-------------------------------------
xtjs4 表格的store是动态的,但分页工具栏的store始终是初始化的那个
2012-08-11 16:52 zhx3513537 | 分类:Windows | 浏览2624次

具体是这样的:我有一棵菜单树当我点击不同的菜单时右边的表格会有不同的内容,但是下面的分页工具栏只要我点击下一页表格显示的就是初始化的数据,
{
                                id:'toolbar',
                                xtype : 'pagingtoolbar',
                                store : gridstore,
                                displayInfo : true,
                                dock : 'bottom',
                                displayMsg : '显示第{0}到第{1}记录,一共{2}条',
                                emptyMsg : "没有记录"
     }
gridstore有一个初始化的数据,点击菜单时我会加入新的参数,但工具条还是原来的那个gridstore

如何使得分页工具栏的store和grid的store保持一致


提问者采纳

亲  第一个问题就是分页工具栏的Store就是Grid的Store,正确使用方式如下:
1.在Grid的Store定义
  var store = Ext.create('Ext.data.Store', {
  model: ‘Demo’,
  pageSize: itemsPerpage,
  proxy:{
   waitTitle : '提醒:',
               waitMsg : '数据加载中...',
   type : 'ajax',
   url : '自定义action路径', 
   reader:{
    type : 'json',//传回的数据类型
    root: 'items',//读取数据的节点名称
    totalProperty :'total'//非常重要,数据总条目数,你要在后台算出后写在JSON中传回
   }
  }
    });

2.Grid中定义bbar
     bbar: Ext.create('Ext.PagingToolbar', {
         store: store,//关键在此,下面的配置项可参看API配置
         displayInfo: true,
         xtype :'pagingtoolbar',
         beforePageText :"第"
     })。
3.store的加载方式
         store.load(
         {
          params:{
           start :0,
           limit :20
          }
         });
为了保持通过limit和pageSize的数量要一致,start会在翻页时自动累加,后台取到start和limit参与查询即可。
若是store中需要带其他参数就要添加事件
store.on('beforeload',function(){        // =======翻页时 查询条件
      Ext.apply(
       store.proxy.extraParams, {
           flag : 1//自定义的
       }
      );

     });

以上的这些讯息完全可以解决pagingBar的问题了

提问者评价

    虽然不是我的解决方法,我是store.setProxy{//balabala},给分你吧



  • lib.rar (154.7 KB)
  • 下载次数: 1
分享到:
评论

相关推荐

    把数据库的table表转换成json格式的字符串

    jsonStr.Remove(jsonStr.Length - 1, 1); // 去除最后一个逗号 jsonStr.Append("},"); } ``` 这里,通过两个嵌套的循环遍历了`DataTable`的所有行和列。对于每一行,构建了一个JSON对象,其中键是列名,值是该行...

    delphi 7 idhttp post 的8种使用方法

    JSONStr := TJSONString.Create(AJsonData); Response := HTTP.Post(ADataURL, JSONStr); finally HTTP.Free; JSONStr.Free; end; end; ``` 4. **POST表单数据** 对于表单数据,可以使用 `...

    DelphiXe10 Json解析类(SuperObject)

    JSONStr := '{"items":[{"name":"item1"},{"name":"item2"}], "nested":{"key":"value"}}'; JSONObj := SO(JSONStr); ArrayItem := JSONObj.A['items'][0]; // 访问数组中的第一个元素 ShowMessage(ArrayItem....

    JSON API总结

    YourVO vo = (YourVO) JSONObject.toBean(JSONObject.fromObject(jsonStr), YourVO.class); System.out.println(vo.getName()); ``` ##### 2.2 org.json 库 `org.json`是Java自带的一个库,用于处理JSON数据,...

    delphi源码delphi中存取json

    JsonObject := TJSONObject.ParseJSONValue(JsonStr) as TJSONObject; // 这里可以访问JsonObject中的键值对 ShowMessage(JsonObject.Values['name'].Value); end; ``` 2. JSON对象到JSON字符串的转化 当需要...

    rest项目所需的jar包

    return Response status 200 entity jsonStr build ; }"&gt;发布rest接口所需要的jar包 @POST @Path &quot; register&quot; @Consumes MediaType APPLICATION JSON @Produces MediaType APPLICATION JSON ...

    JSON Delphi控件

    JSONStr := '{"name":"John", "age":30, "city":"New York"}'; JSONObj := TlkJSON.Parse(JSONStr); ``` 在这个例子中,`TlkJSON.Parse`方法将JSON字符串解析成一个`TlkJSONObject`对象,可以进行进一步的操作,...

    c#抓取页面小工具

    function _get_contents_back(funcname,content,frame,jsonstr){ try{ $("#content").val(content); var json=eval("("+jsonstr+")"); alert('js传过去的参数:'+jsonstr); //alert(json.a); //alert(attr); ...

    RAD STUDIO 11 DELPHI11 superobject使用源码

    JSONStr := '{"name": "John Doe"}'; JSONObj := SO.Parse(JSONStr); end; ``` 3. **读取和修改 JSON 对象:** 一旦有了 `ISuperObject`,你可以使用 `.Value` 或 `.AsXXX` 方法来读取和修改值: ```delphi ...

    JSON数据转字符串

    自动把JSon数据转化为字符串,下面附示例代码: &lt;!... &lt;script src="json2.js"&gt;&lt;/script&gt; ...var jsonStr = JSON.stringify( obj ); alert(jsonStr); //将显示 {"a":[2,3],"b":{"m":[3,4],"n":2}} &lt;/body&gt;

    c#json序列化与反序列化.doc

    var result = (RecordResult)JsonConvert.DeserializeObject(jsonStr, typeof(RecordResult)); ``` 这样,我们就可以将 JSON 字符串转换为 `RecordResult` 对象。 三、结论 在本文中,我们介绍了 C# 中的 JSON ...

    Java JSON与Object互转源代码

    1. String jsonStr = JSONTool.convertObjectToJson(object); 2. Object obj = JSONTool.convertJsonToObject(jsonStr); 缺点:对于集合(Collection,非Map)类数据结构,不能在集合中包含其他集合对象,但是可以包含...

    Delphi10 JSon 基本读写例子,Delphi11 JSON 读写Demo

    JsonObject := TJSONObject.ParseJSONValue(JsonStr) as TJSONObject; // 进行进一步的处理... end; ``` 3. **读取JSON数据**: - 一旦解析了JSON对象,可以通过`GetValue`或`GetObject`方法访问其成员。例如,...

    Go-Golang中的JSON查询表达式库

    例如,如果你有一个JSON字符串`jsonStr`,你可以这样获取键名为`key`的值: ```go result, err := jsonql.Get(jsonStr, "key") if err != nil { // 处理错误 } fmt.Println(result) ``` 3. **路径查询**:`...

    Delphi XE7解析JSON的4种方法ParsingJsonWithFiremonkey.rar

    JSONStr := '{"name":"John", "age":30, "city":"New York"}'; Obj := SO(JSONStr); Writeln(Obj.AsString('name')); // 输出 "John" end; ``` SuperObject支持动态访问JSON对象和数组,以及深度克隆、序列化...

    delphijson解析文件uLkJSON

    假设你有一个JSON字符串`jsonStr`,你可以使用`TlkJSON.Parse`方法将其解析为`TlkJSONObject`对象: ```delphi var JSONObj: TlkJSONObject; begin JSONObj := TlkJSON.Parse(jsonStr); // 现在你可以通过JSONObj...

    TJSONObject 一个完整的json文件的解析

    JSONStr := TEncoding.UTF8.GetString(Stream.Memory, Stream.Size); JSONObj := TJSONObject.ParseJSONValue(JSONStr) as TJSONObject; // ... finally Stream.Free; JSONObj.Free; end; ``` 3. **访问和...

    json_simple1.1

    jsonStr = "[{\"aaa\":\"111\",\"bbb\":\"222\"},{\"aaa\":\"111\",\"bbb\":\"222\"}]"; try { JSONArray parseObject = (JSONArray)parser.parse(jsonStr); System.out.println("数组----&gt;" + ...

Global site tag (gtag.js) - Google Analytics