$.extend($.fn.datagrid.defaults.view, {
onAfterRender: function (target) {
var dc = $.data(target, 'datagrid').dc;
if (dc.header2.find('[filter="true"]').length == 0) {
var header = dc.header1; //固定列表头
var header2 = dc.header2; // 常规列表头
var filterRow = $('<tr></tr>');
var opts = $.data(target, 'datagrid').options;
var columns = opts.columns;
header.find('tbody').append(filterRow);
filterRow = $('<tr style="background:#f2f2f2;" filter="true"></tr>');
$.each(columns[0], function () {
if (this.checkbox == undefined && this.field != "_Operate") {
var w = header2.find('[field="' + this.field + '"] > div').width();
if (this.hfilter) {
var a = $('<input field="' + this.field + '" class="easyui-combobox" style="width:' + w + 'px" />');
filterRow.append($('<td></td>').append(a));
a.data('options', this.hfilter);
} else {
var vagvalue = GetFieldValue(this.field);
filterRow.append('<td align="center"><input type="text" class="Vague_border" value="' + vagvalue + '" onkeyup="doFilter(this)" id="Vague_' + this.field + '" name="' + this.field + '" style="width:' + w + 'px" /></td>');
}
}
else {
if (this.checkbox) {
filterRow.append('<td><div class="datagrid-cell-check"><input type="checkbox" /></div></td>');
}
else {
filterRow.append('<td></td>');
}
}
});
header2.find('tbody').append(filterRow);
var dgData = $(target).datagrid('getData').rows;
header2.find('input[field]').each(function () {
var opts = $(this).data('options');
var field = $(this).attr('field');
$.extend(opts.options, {
onSelect: function (item) {
var d = _.filter(dgData, function (row) {
return row[field].indexOf(item[opts.options.textField]) > -1;
});
$(target).datagrid('loadData', d);
}
});
$(this)[opts.type](opts.options);
})
var id = $("#VagueField").val();
moveEnd(id);
}
}
});
var tiemoutID;
//模糊查询
function doFilter(obj) {
var evt = (evt) ? evt : window.event;
var Field = obj.name;
var Value = obj.value.replace(/\s/g, "");
$("#VagueField").val("Vague_" + Field);
Value == "" ? DelVague(Field) : AddVague(Field, Value);
clearTimeout(tiemoutID);
tiemoutID = setTimeout("VagueSearch()", 600);
}
//返回隐藏域中当前字段值
function GetFieldValue(field) {
var value = "";
var vag = $("#VagueValue").val();
var list = vag.split(";");
if (list.length > 0 && list[0] != "") {
for (var i = 0; i < list.length; i++) {
if (list[i] != "") {
var vaglist = list[i].split(":");
if (vaglist[0] == field) {
value = vaglist[1];
}
}
}
}
return value;
}
//添加模糊查询值到隐藏域
function AddVague(field, value) {
var isfield = true;
var vague = "";
var vag = $("#VagueValue").val();
var list = vag.split(";");
if (list.length > 0 && list[0] != "") {
for (var i = 0; i < list.length; i++) {
if (list[i] != "") {
var vaglist = list[i].split(":");
if (vaglist[0] == field) {
vague += field + ":" + value + ";";
isfield = false;
}
else {
vague += vaglist[0] + ":" + vaglist[1] + ";";
}
}
}
}
if (isfield) { vague += field + ":" + value + ";"; }
$("#VagueValue").val(vague)
}
//删除隐藏域中当前模糊查询值
function DelVague(field) {
var vague = "";
var vag = $("#VagueValue").val();
var list = vag.split(";");
if (list.length > 0 && list[0] != "") {
for (var i = 0; i < list.length; i++) {
if (list[i] != "") {
var vaglist = list[i].split(":");
if (vaglist[0] != field) {
vague += vaglist[0] + ":" + vaglist[1] + ";";
}
}
}
}
$("#VagueValue").val(vague);
}
//获取页面模糊查询条件
function GetVague() {
var vague = "";
var vag = $("#VagueValue").val();
var list = vag.split(";");
if (list.length > 0 && list[0] != "") {
for (var i = 0; i < list.length; i++) {
if (list[i] != "") {
var vaglist = list[i].split(":");
vague += " AND " + vaglist[0] + " LIKE '%" + vaglist[1] + "%'";
}
}
}
return vague;
}
//使文本光标保持在最后
function moveEnd(id) {
if (id != null && id != "") {
var obj = $("#" + id);
obj.focus();
var len = obj[0].value.length;
if (typeof obj[0].selectionStart == 'number'
&& typeof obj[0].selectionEnd == 'number') {
obj[0].selectionStart = obj[0].selectionEnd = len;
}
}
}
//选取所有Guid
function SelectAll(Guid) {
var selectedValue = "";
var rowlist = $("#tb").datagrid("getSelections");
for (var i = 0; i < rowlist.length; i++) {
selectedValue += rowlist[i][Guid] + ",";
}
selectedValue = selectedValue.substring(0, selectedValue.length - 1);
return selectedValue;
}
- 1
- 2
前往页