array grid的简单使用.根据官方示例改写(asp.net).json数据格式.

<link href="ext-3.2.0/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
<script src="ext-3.2.0/adapter/ext/ext-base.js" type="text/javascript"></script>
<script src="ext-3.2.0/ext-all.js" type="text/javascript"></script>
<script type="text/javascript">
    Ext.onReady(function() {

        Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

        var conn = new Ext.data.Connection({

            //userinfojson.ashx格式已写在另一篇文章中
            url: "userinfojson.ashx"
        })
        var proxy = new Ext.data.HttpProxy(conn);

        var store = new Ext.data.Store({
            proxy: proxy,
            reader: new Ext.data.JsonReader(
              { root: 'userlist' },
              ["id", "name", "passwd", "gender", "roleid", "stateid"]
            )
        });

        store.load();

        function change(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '</span>';
            }
            return val;
        }

        function GetSex(val) {
            if (val > 0) {
                return '<span style="color:green;">男</span>';
            }
            else {
                return '<span style="color:red;">女</span>';
            }
        }

        function pctChange(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '%</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '%</span>';
            }
            return val;
        }

        var grid = new Ext.grid.GridPanel({
            store: store,
            columns: [
               { id: 'id', header: '个人编号', width: 60, sortable: true, dataIndex: 'id' },
               { header: '个人姓名', width: 60, sortable: true, dataIndex: 'name' },
               { header: '个人密码', width: 70, sortable: true, dataIndex: 'passwd' },
               { header: '性别', width: 70, sortable: true,renderer:GetSex, dataIndex: 'gender' },
               { header: '权限编号', width: 70, sortable: true, dataIndex: 'roleid' },
               { header: '状态编号', width: 70, sortable: true, dataIndex: 'stateid' }
            ],
            stripeRows: true,
            autoExpandColumn: 'id',
            height: 110,
            width: 600,
            title: 'array-grid data',
            stateful: true
        });
        grid.render('gridone');
    })
</script>

 

<body>
    <form id="form1" runat="server">
       <div id="gridone"></div>
    </form>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个复杂的示例: 假设我们有以下JSON数据: ```json { "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" }, "phoneNumbers": [ { "type": "home", "number": "555-1234" }, { "type": "work", "number": "555-5678" } ] } ``` 我们可以使用macchina.io中的JSON解析器来解析这个JSON数据,示例代码如下: ```c++ #include <iostream> #include <vector> #include <Poco/JSON/Parser.h> #include <Poco/Dynamic/Var.h> int main() { std::string jsonString = R"({ "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" }, "phoneNumbers": [ { "type": "home", "number": "555-1234" }, { "type": "work", "number": "555-5678" } ] })"; Poco::JSON::Parser parser; Poco::Dynamic::Var result = parser.parse(jsonString); Poco::JSON::Object::Ptr root = result.extract<Poco::JSON::Object::Ptr>(); std::string name = root->getValue<std::string>("name"); int age = root->getValue<int>("age"); Poco::JSON::Object::Ptr address = root->getObject("address"); std::string street = address->getValue<std::string>("street"); std::string city = address->getValue<std::string>("city"); std::string state = address->getValue<std::string>("state"); std::string zip = address->getValue<std::string>("zip"); Poco::JSON::Array::Ptr phoneNumbers = root->getArray("phoneNumbers"); std::vector<std::pair<std::string, std::string>> phoneNumbersVec; for (auto& item : *phoneNumbers) { Poco::JSON::Object::Ptr phoneNumber = item.extract<Poco::JSON::Object::Ptr>(); std::string type = phoneNumber->getValue<std::string>("type"); std::string number = phoneNumber->getValue<std::string>("number"); phoneNumbersVec.push_back(std::make_pair(type, number)); } std::cout << "name: " << name << std::endl; std::cout << "age: " << age << std::endl; std::cout << "street: " << street << std::endl; std::cout << "city: " << city << std::endl; std::cout << "state: " << state << std::endl; std::cout << "zip: " << zip << std::endl; for (auto& item : phoneNumbersVec) { std::cout << "type: " << item.first << ", number: " << item.second << std::endl; } return 0; } ``` 这个示例中,我们首先定义了一个JSON字符串,然后使用Poco库中的JSON解析器来解析JSON数据。我们从根对象中获取了name和age字段,从address对象中获取了street、city、state和zip字段,从phoneNumbers数组中获取了所有的电话号码。最后,我们将获取到的字段打印出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值