Ext.define('ShuJuYuanModel', {
|
extend: 'Ext.data.Model',
|
fields:[
|
'datasourceid','databasetype','databasealias','databasename','tabletype'
|
],
|
idProperty: 'datasourceid'
|
});
|
|
var ZYMLZiYuanStore = new Ext.data.Store({
|
autoDestroy: true,
|
pageSize: 10,
|
model: 'ShuJuYuanModel',
|
proxy: {
|
type: 'ajax',
|
url: '/res/manage/datasource/getlist',
|
reader: {
|
root: 'topics',
|
totalProperty: 'totalCount'
|
},
|
simpleSortMode: true
|
},
|
remoteSort: true
|
});
|
|
var formdata = {};
|
Ext.onReady(function () {
|
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
|
Ext.tip.QuickTipManager.init();
|
Ext.Ajax.timeout = 900000;
|
Ext.require([
|
'Ext.ux.PagingToolbar'
|
]);
|
|
Ext.create('Ext.grid.Panel', {
|
id: 'gridexample',
|
renderTo: 'grid',
|
// height: 410,
|
layout: 'fit',
|
autoScroll: false,
|
store: ZYMLZiYuanStore,
|
stateful: false,
|
stateId: 'ZYMLZiYuan-Grid',
|
viewConfig: {
|
forceFit: true,
|
enableTextSelection: true //列表数据可复制
|
},
|
columns: [
|
{ text: "选择", dataIndex: 'datasourceid', width: '20%', sortable: true, filter: { type: 'string' }, align: 'center',
|
renderer: function (value, p, record) {
|
var databasename = record.getData()["databasealias"];
|
if(databasename == '') {
|
databasename = record.getData()["databasename"];
|
}
|
var datatype = record.getData()["databasetype"];
|
var tabletype = record.getData()["tabletype"];
|
return Ext.String.format('<label><input type="radio" name="selectName" value="{0}" getname="{1}" getype="{2}" getTabletype="{3}"></label>',value,databasename,datatype,tabletype);
|
}
|
},
|
{ text: "数据库名称", dataIndex: 'databasename', width: '28%', sortable: false, align: 'center', filter: { type: 'string' },
|
renderer: function (value,p,record) {
|
var datasourceid = record.getData()["datasourceid"];
|
return Ext.String.format( '<span style="text-decoration : underline;cursor:pointer;" title="{1}" onclick="OpenShuJuYuan(\'{0}\')" >{1}</span>',
|
datasourceid, value)
|
}
|
},
|
|
{ text: "数据库别名", dataIndex: 'databasealias', width: '27%', sortable: false, align: 'center', filter: { type: 'string' } },
|
{ text: "数据库类型", dataIndex: 'databasetype', width: '25%', sortable: false, align: 'center', filter: { type: 'string' } },
|
{ text: "地理数据库", dataIndex: 'tabletype', width: '0%', hidden:true,sortable: false, align: 'center', filter: { type: 'int' } }
|
],
|
bbar: Ext.create('Ext.ux.PagingToolbar', {
|
id: "Page",
|
name: "Page",
|
store: ZYMLZiYuanStore,
|
displayInfo: true,
|
firstText: "首页",
|
prevText: "上一页",
|
nextText: "下一页",
|
lastText: "尾页",
|
refreshText: '刷新',
|
beforePageText: '第',
|
afterPageText: '页,共 {0} 页',
|
displayMsg: '显示 {0} - {1} 条,共 {2} 条',
|
emptyMsg: "没有数据显示",
|
items: [
|
{
|
xtype: 'label',
|
text: ''
|
}
|
]
|
})
|
});
|
|
ZYMLZiYuanStore.on('beforeload', function () {
|
GetSearchWhere("SearchForm");
|
ZYMLZiYuanStore.proxy.extraParams = [];
|
Ext.apply(ZYMLZiYuanStore.proxy.extraParams, formdata);
|
});
|
ZYMLZiYuanStore.on('load', function (store, records, successful, eOpts) {
|
var totalCount = store.totalCount;
|
if (totalCount == "") totalCount = "0";
|
});
|
ZYMLZiYuanStore.load();
|
|
//添加resize监听防止切换tab或者收起左栏导致grid不自适应宽度
|
$(window).resize(function () {
|
Ext.getCmp('gridexample').doLayout();//panel重新布局
|
});
|
});
|
|
//获取查询条件
|
function GetSearchWhere(formId) {
|
var form = document.forms[formId];
|
for (var i = 0; i < form.elements.length; i++) {
|
var strID = form.elements[i].id;
|
var value = form.elements[i].value;
|
if (form.elements[i].type == "checkbox") {
|
if (form.elements[i].checked == true)
|
value = "on";
|
else
|
value = "";
|
}
|
if (form.elements[i].type == "radio") {
|
if (form.elements[i].checked == true) {
|
strID = form.elements[i].name;
|
value = form.elements[i].value;
|
}
|
}
|
formdata[strID] = (value == "全部" || value == "None" ? "" : value + "");
|
}
|
}
|
|
//添加
|
function queding() {
|
//获取那个被选中
|
var valid=$('input:radio[name="selectName"]:checked').val();
|
var valname=$('input:radio[name="selectName"]:checked').attr("getname");
|
var valtype=$('input:radio[name="selectName"]:checked').attr("getype");
|
var tabletype=$('input:radio[name="selectName"]:checked').attr("getTabletype");
|
if(valid==null){
|
alert("选择数据库")
|
}else {
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
parent.$('#datasourceid').val(valid);
|
parent.$('#databasename').val(valname).change();
|
parent.$('#databasetype').val(valtype);
|
parent.$('#tabletype').val(tabletype);
|
window.parent.spaceShowOrHide();
|
parent.layer.close(index);
|
}
|
}
|
|
function Clear() {
|
document.getElementById("SearchForm").reset();
|
}
|
|
function Search() {
|
Ext.getCmp('gridexample').dockedItems.items[1].store.currentPage = 1;
|
ZYMLZiYuanStore.load();
|
}
|