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 + ")");
}