var store;
Ext.app.ContentItemJKGrid = Ext.extend(Ext.grid.GridPanel,
{
title: '内容项接口列表',
region: 'north',
id: 'am-contentitemjkgrid',
height: 150,
ctiId: 0,
ctiName: '',
wsId: 0,
viewConfig:
{
id: 'ctigv',
trackOver: true,
stripeRows: true
},
initComponent: function () {
var me = this;
var ctism = new Ext.selection.CheckboxModel({
id: "ctiJKwsId",
dataIndex: 'CtiId',
mode: 'SINGLE', //设置Checkbom只能选中一个
listeners: {
'select': function (sm, rowIndex, record) {
ctijkClick();
}
}
});
this.columns =
[
{
id: 'ctiJKgridName',
header: '内容项名称',
width: 300,
sortable: true,
dataIndex: 'CtItemName'
},
{
id: 'ctiJKgridwsName',
width: 400,
header: 'Web Sevice名称',
dataIndex: 'WsName'
},
{
id: 'ctiJKgridExplain',
width: 400,
header: '数据库表名',
dataIndex: 'TableName'
}
];
this.selModel = ctism;
Ext.define('Ext.app.ContentItemData',
{
extend: 'Ext.data.Model',
fields:
[
//第一个字段需要指定mapping,其他字段,可以省略掉。
{
name: 'CtItemName',
mapping: 'CtItemName',
type: 'string'
},
{
name: 'WsName',
type: 'string'
},
{
name: 'TableName',
type: 'string'
},
{
name: 'CtiId',
type: 'int'
},
{
name: 'Id',
type: 'int'
},
{
name: 'WsId',
type: 'string'
}
]
});
store = Ext.create('Ext.data.Store',
{
model: 'Ext.app.ContentItemData',
pageSize: 20,
proxy:
{
type: 'ajax',
url: 'Data/CtItemInterface/CtItemInterfaceInfo.aspx?param=select',
reader:
{
type: 'json',
root: 'items',
totalProperty: 'total'
}
},
listeners: {
load: function () {
var addClick = Ext.getCmp("ctiJKAdd");
var EditClick = Ext.getCmp("ctiJKEdit");
var deleteClick = Ext.getCmp("ctiJKdelete");
if (addClick) {
if (me.ctiId == 0) addClick.disabled = true;
else addClick.disabled = false;
}
if (EditClick) {
if (me.ctiId == 0) EditClick.disabled = true;
else EditClick.disabled = false;
}
if (deleteClick) {
if (me.ctiId == 0) deleteClick.disabled = true;
else deleteClick.disabled = false;
}
if (me.store.data.length > 0) {
me.getSelectionModel().select(0); // checkbom默认选择一个
}
ctijkClick();
}
},
autoLoad: true
});
Ext.apply(this,
{
store: store,
dockedItems:
[{
dock: 'top',
xtype: 'toolbar',
items:
[
{
width: 80,
xtype: 'button',
id: "ctiJKAdd",
text: '添加',
store: store,
handler: ctijkAdd
},
{
width: 50,
xtype: 'button',
id: "ctiJKEdit",
text: '编辑',
store: store,
handler: ctijkEdit
},
{
width: 50,
xtype: 'button',
id: "ctiJKdelete",
text: '删除',
store: store,
handler: ctijkDelete
}
]
}]
});
///定义内容项接口删除事件
function ctijkDelete() {
var row = me.getSelectionModel().getSelection();
if (row.length == 0) {
Ext.Msg.alert("提示", "请选择一行");
} else {
Ext.Msg.confirm("提示", "确定删除这" + row.length + "条信息吗?",
function (btn) {
if (btn == "yes") {
Ext.Ajax.request({
url: "data/CtItemInterface/CtItemInterfaceManager.aspx?param=DeleteCtItemJk",
method: "POST",
params: { id: row[0].get("Id") }, //发送的参数
success: function (response, option) {
response = Ext.JSON.decode(response.responseText);
if (response.success == true) {
if (response.flag == true) {
Ext.MessageBox.alert("提示", "删除接口成功!");
//刷新列表
me.store.load();
}
else { Ext.MessageBox.alert("错误信息", "删除接口失败!"); }
}
else { Ext.MessageBox.alert("错误信息", response.msg); }
},
failure: function () { Ext.Msg.alert("提示", "删除失败<br>没有捕获到异常"); }
});
}
})
}
}
///复选框选择事件
function ctijkClick() {
//根据选中的行显示相应内容栏数据
var ctcgridview = Ext.getCmp('am-contentcolumngrid');
if (me.store.data.length > 0) {
ctcgridview.wsName = me.getSelectionModel().getSelection()[0].get("WsName"); //可以给另一个grid属性赋值
ctcgridview.wsId = me.getSelectionModel().getSelection()[0].get("WsId");
ctcgridview.ctiName = me.getSelectionModel().getSelection()[0].get("CtItemName");
} else { ctcgridview.wsId = 0 }
// alert(ctcgridview.wsId);
ctcgridview.ctiId = me.ctiId;
ctcgridview.store.load({
url: 'Data/ContentColumn/ContentColumnInfo.aspx?param=select',
params: { msg: me.ctiId }
});
}
//定义内容项接口添加事件
function ctijkAdd() {
var ctiWin = Ext.create('Ext.app.ContentItemJKAddForm', { ctiId: me.ctiId, ctiName: me.ctiName });
ctiWin.show();
}
//定义内容项接口编辑事件
function ctijkEdit() {
var row = me.getSelectionModel().getSelection();
if (row.length == 0) {
Ext.Msg.alert("提示", "请选择一行");
} else if (row.length > 1) {
Ext.Msg.alert("提示", "只能选择一行");
} else if (row.length == 1) {
var ctiInId = row[0].get('Id');
if (ctiInId != 0) {
var editwin = Ext.create('Ext.app.ContentItemJKEditForm', { Id: ctiInId });
editwin.show();
Ext.getCmp("am-contentitemjkeditform").getForm().load(
{
url: "data/CtItemInterface/CtItemInterfaceInfo.aspx?param=selectById",
params: { Id: ctiInId },
waitTitle: "请等待",
waitMsg: "正在加载数据...",
success: function (form, action) {
},
failure: function (form, action) {
Ext.Msg.alert("提示", "数据加载失败!");
}
});
}
}
};
Ext.app.ContentItemJKGrid.superclass.initComponent.call(this);
}
});
?using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CtManager.BLL;
using CtManager.Model;
using Newtonsoft.Json;
public partial class Data_CtInterface_CtInterfaceInfo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["param"] == null)
{
Response.Write("");
return;
}
string parameter = Request["param"];
if (parameter == "select") Response.Write(doCtItemInterface());
else Response.Write("");
}
/// 根据内容项Id内容项接口集合
private string doCtItemInterface()
{
try
{
IList<CtItemInterface> ctItemInterface = CtItemInterfaceManager.GetAllCtItemInterfaces(Request["ctItemId"]);
if (ctItemInterface == null) return "{total:0,items:[]}";
string json = JavaScriptConvert.SerializeObject(ctItemInterface);
return "{total:3,items:" + JavaScriptConvert.SerializeObject(ctItemInterface) + "}";
}
catch (Exception)
{
return "{total:0,items:[]}";
}
}
}
?