Ext JS GridPanel + WebService + 返回xml数据 + 批量删除


Server端的代码很简单,直接返回DataSet

        [WebMethod]
        public DataSet GetDataSet(string dydj)
        {
            DataSet ds = SqliteHelper.ExecuteDataset("select BDZMC from ATT_BDZ where DYDJ = '" + dydj + "'", null);
            return ds;
        }

客户端

    Ext.getDom("bookmarkList").innerHTML = "";
    var cm = new Ext.grid.ColumnModel([new Ext.grid.CheckboxSelectionModel(), {
        handleMouseDown: Ext.emptyFn,
        header: "OID",
        dataIndex: "OID",
        width: 20,
        sortable: true,
        hidden: true //隐藏该列
    },
    { header: '书签名称(双击定位)', dataIndex: 'BOOKMARKNAME', sortable: true, width: 50 },
	{ header: '最小经度', dataIndex: 'MIN_LONGITUDE', sortable: true, width: 40, hidden: true },
	{ header: '最小纬度', dataIndex: 'MIN_LATITUDE', sortable: true, width: 40, hidden: true },
	{ header: '最大经度', dataIndex: 'MAX_LONGITUDE', sortable: true, width: 40, hidden: true },
	{ header: '最大纬度', dataIndex: 'MAX_LATITUDE', sortable: true, width: 40, hidden: true }
    ]);

    //数据源
    var store = new Ext.data.Store({
        url: http://192.168.1.134/DEUWebService/Service1.asmx/GetBookmark,
        // Web Service 地址
        reader: new Ext.data.XmlReader({
            record: 'Table',
            // 数据。对应于 GetHotSpotList 返回的 DataSet 中的 Table 表
            id: 'OID' // 主键。
        },
        [
            { name: 'OID' },
            { name: 'BOOKMARKNAME' },
            { name: 'MIN_LONGITUDE' },
            { name: 'MIN_LATITUDE' },
            { name: 'MAX_LONGITUDE' },
            { name: 'MAX_LATITUDE' }
        ]),
        remoteSort: true // 服务端排序
    });

    // GridPanel 组件
    var grid = new Ext.grid.GridPanel({
        frame: true,
        enableHdMenu: false,
        width: 290,
        height: 230,
        loadMask: {
            msg: '正在加载数据,请稍侯……'
        },
        renderTo: 'bookmarkList',
        store: store,
//        sm: new Ext.grid.CheckboxSelectionModel({
//            header: ""
//        }),
        cm: cm,
        viewConfig: {
            forceFit: true
        },
        //表格行的双击事件
        listeners: {
            "rowdblclick": function (grid, rowIndex, e) {
                grid.getSelectionModel().each(function (rec) {
                   rec.get("MAX_LONGITUDE"); //获得字段的值
                });
            }
        }
    });
    BOOKMARK.bookmarkGrid = grid;
    store.load();
前端删除代码
    var selBookmarkRecords = Grid.getSelectionModel().getSelections();
    var selIds = "";
    if (selBookmarkRecords.length > 0) {
        Ext.MessageBox.confirm('提示框', '您确定要进行该操作',
        function (btn) {
            if (btn == 'yes') {
                for (var i = 0; i < selBookmarkRecords.length; i++) {
                    selIds += selBookmarkRecords[i].get("OID");
                    if (i < selBookmarkRecords.length - 1) selIds += ",";
                }
                Ext.Ajax.request({
                    url: http://192.168.1.134/DEUWebService/Service1.asmx/DeleteBookmark,
                    scriptTag: true,
                    params: {
                        delIds: selIds
                    },
                    success: function (response) {
                        
                    },
                    failure: function (response, opts) {
                        
                    }
                });
            }
        });
    }
    else
        Ext.Msg.alert("提示", "请勾选后再点击删除!");
后端删除也非常简单

        [WebMethod]
        public void DeleteHotSpot(string delIds)
        {
            SqliteHelper.ExecuteNonQuery("delete from CONF_3DGIS_HOTSPOT where OID in (" + delIds + ")");
        }



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值