如何填充jqGrid过滤器工具栏并在页面加载时进行搜索(ASP.net webforms)
How to populate jqGrid filter toolbar and search when the page loads (ASP.net webforms)
目前,我正在尝试用从cookie中获取的值填充filterToolbar。如果有用于过滤器的cookie数据,我希望它填充相应的文本框并为该数据过滤jqGrid。
我使用ASP.net webforms,所以我的大部分数据已经初始化。我如何/在哪里可以添加javascript,以得到这一点?
我知道我在做什么了。
所以我最终做的解决方案是在文档中添加超时函数。准备好函数
$(document).ready(function () {
// some code
setTimeout(function () {
$('#Jqgrid1')[0].triggerToolbar();
}, 500)
//some code
}
我的猜测是,我不能使用$('#grid')[0]. toggletoolbar()来强制它,因为每当我试图使用它时,它是在整个网格完成设置之前。
在ASP webform中,我注册了几个函数。
<cc1:JQGrid ID="Jqgrid1" runat="server"
Height="630"
SearchDialogSettings-Draggable="true"
EnableViewState="false"
AutoWidth="True" >
<ClientSideEvents
LoadComplete="Jqgrid1_LoadComplete"
GridInitialized="initGrid"
/>
<%-- grid code --%>
</cc1:JQGrid>
LoadComplete在网格加载后执行。我试着在那里触发我的工具栏,但没有成功。我的猜测是,在网格执行中使用triggerToolbar()函数还为时过早。
gridininitialized事件也是如此(尽管这两个事件对我来说似乎意味着网格已经完成了它的事情…但无论…)
我读取cookie的方式实际上是在gridininitialized事件处理程序中。
function initGrid() {
var myJqGrid = $(this);
var valueName = 'GridFilters';
var myCookie = document.cookie;
var gridFilterString;
var gridFilterArray;
var currentFilter;
var myCookie_arr;
var myDic = {};
if (myCookie.indexOf(valueName) > -1) { // don't even bother if the cookie isn't there...
myCookie_arr = myCookie.split("; "); // looking for the cookie I need
// read cookies into an array
for (var i = 0; i < myCookie_arr.length; i++)
{
parts = myCookie_arr[i].split("=");
first = parts.shift(); // remove cookie name
myDic[first.trim()] = parts.join("=").trim(); // handles multiple equality expressions in one cookie
}
if (myDic.hasOwnProperty("GridFilters"))
gridFilterString = myDic["GridFilters"];
if (gridFilterString != "NONE") {
myFiltersDic = {}
myFiltersArr = gridFilterString.split("&")
for (var i = 0; i < myFiltersArr.length; i++) {
parts = myFiltersArr[i].split("=");
myFiltersDic[parts[0].trim()] = parts[1].trim();
}
myParams = $(this).jqGrid("getGridParam", "postData");
var filters = []
for (keys in myFiltersDic) {
$('#gs_' + keys.trim()).val(myFiltersDic[keys].trim());
}
$.cookie('m_blnSearchIsHidden', "0", "/");
if (!isLoaded)
{
$(this)[0].toggleToolbar();
}
isLoaded = true;
}
}
}
相关文章:
- Gmaps搜索和kmz加载javascript
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- 在Knockout JS中搜索从DB加载数据的项目
- 清除网格中的存储和加载搜索结果
- 页面加载时的JQuery搜索
- QuickBase:每次在表中搜索时都加载javascript文件
- 搜索诸如提交完成事件之类的内容以关闭加载程序
- 使用引导表插件,如何在首次加载时设置搜索字符串
- 清除搜索词,并在选择任何项目后重新加载 Select2 输入的所有项目
- 如何加载CSV文件以显示在HTML5页面上,并具有搜索框来过滤它
- 谷歌自定义搜索 - 从网址参数手动加载/执行
- 如何更改巴比伦的文件夹.场景加载器将搜索纹理
- jQuery 在实时搜索后延迟加载图像
- 过滤器重新加载页面时的工具栏不搜索
- 重新加载搜索时的后退按钮:假
- 如何拦截 jQuery Datatables 搜索函数以在搜索之前重新加载数据(函数的名称是什么)
- ajax加载搜索结果
- 在一个php页面中使用ajax加载搜索后数据功能
- Javascript加载/旋转图像/图标,同时加载搜索结果
- 页面加载时自动加载搜索结果