EasyUI IE下的奇怪现象 TreeGrid reload事件不能刷新数据(节点)

cyw1592951 2012-07-07 02:41:08
附上源码:

$(document).ready(function () {
BinDingtreeGride();
});
function reload() {
var node = $('#Gride1').treegrid('getSelected');
if (node) {
$('#Gride1').treegrid('reload', node.HUJIBH);
} else {
$('#Gride1').treegrid('reload');
}
}
function BinDingtreeGride() {
$('#Gride1').treegrid({
width: winWidth,
height: winHeight,
url: 'xingZhengDmzd.aspx?action=paint&trans=0&timeid=' + Math.random() + '',
method: "GET",
pageSize: 10,
singleSelect: true,
nowrap: true,
striped: true,
collapsible: true,
pagination: false,
rownumbers: false,
idField: 'HUJIBH',
treeField: 'HUJIMC',
animate: true,
onBeforeLoad: function (row, param) {
if (row) {
$(this).treegrid('options').url = "xingZhengDmzd.aspx?action=paint&trans=" + row.HUJIBH + "&timeid=' + Math.random() + '";
}
else {
var SearchType = $("#selSearchType").val();
var keyWords = $("#SearchKey").val();
if (SearchType != "-1" && keyWords != "") {
$(this).treegrid('options').url = 'xingZhengDmzd.aspx?action=Search&SearchType=' + SearchType + '&key=' + keyWords + '&timeid=' + Math.random();
}
else {
$(this).treegrid('options').url = "xingZhengDmzd.aspx?action=paint&trans=0&timeid=" + Math.random();
}
}
}
});
};
function formatTIANJIASJ(value) {
value = DateFormatter(value, "yyyy-MM-dd");
return value;
}
function Delete() {
var selected = $('#Gride1').treegrid('getSelected');
$.messager.defaults = { ok: "确定", cancel: "取消" };
$.messager.confirm('操作提示', '您确定要删除吗?', function (r) {
if (r) {
if (selected) {
$.ajax({
type: "POST", //必须要用POST
url: "xingZhengDmzdEdit.aspx/Delete",
data: "{guid:'" + selected.HUJIBH + "'}", //data必须和contentType同时出现,如果没有参数传入,就算给个空值也要写的。如:data: "{}",
contentType: "application/json; charset=utf-8;", //这个也是必须的
dataType: "json",
async: false, //同步请求,设为false将会锁住浏览器
success: function (result) {
if (result.d == "success") {
$.messager.alert('操作提示', '删除成功!');
try {
// var obj = $('#Gride1').treegrid("getData");
// $('#Gride1').treegrid("remove", selected.HUJIBH);//
$('#Gride1').treegrid("reload", selected.SHANGCENGBH);
} catch (Error) {
$('#Gride1').treegrid("reload");
}
}
else {
$.messager.alert('操作提示', '节点内包含内容时,不能直接被删除!');
return;
}
},
error: function (x, textStatus) {
alert(x.responseText);
}
});
}
}
});
}

function Search() {
var SearchType = $("#selSearchType").val();
var keyWords = $("#SearchKey").val();
if (keyWords == "" || SearchType == "-1") {
reload();
return;
};
var actionurl = 'xingZhengDmzd.aspx?action=Search&SearchType=' + SearchType + '&key=' + keyWords + '&timeid=' + Math.random();
top.ajaxLoading("数据加载中...请稍等...");
$.ajax({
type: "POST",
url: actionurl,
success: function (Data) {
$('#Gride1').treegrid("loadData", eval(Data));
top.ajaxLoaded();
}
});
}

后台代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["action"] != null)
{
switch (Request.QueryString["action"].ToString())
{
case "paint":
string tempTrans = Request["trans"].ToString();
BindTreeGrid(tempTrans);
break;
case "Search":
string SearchType = Request["SearchType"].ToString();
switch (SearchType)
{
case "1":
if (Request["key"] != null)
{
try
{
BindTreeGrid(int.Parse(Request["key"]).ToString());
}
catch
{ }
}
break;
case "2":
GY_SHENGSHIQXBLL shengShiBll = new GY_SHENGSHIQXBLL();
IList<GY_SHENGSHIQX> listTree = shengShiBll.GetShengShiQxByMc(Request["key"]);
SearchResult(listTree);
break;
}
break;
case "initpage":
InitButton(form1);
break;
}
}
}

}
#region 动态加载
/// <summary>
/// 绑定TreeGrid
/// </summary>
/// <param name="tongjileixing"></param>
public void BindTreeGrid(string ParentId)
{
GY_SHENGSHIQXBLL fuWuBll = new GY_SHENGSHIQXBLL();
IList<GY_SHENGSHIQX> listTree = fuWuBll.getShengShiQxParent(ParentId);
string json = EasyUIHelper.DataHelper.GetTreeGridJson<GY_SHENGSHIQX>(treeField =>
{

IEnumerable<GY_SHENGSHIQX> kk = null;
if (treeField == null)
{

kk = listTree.Where(cd =>
{
if (cd.SHANGCENGBH == ParentId)
return true;
else
return false;
});
}
else
{
kk = listTree.Where(whereItem => whereItem.SHANGCENGBH.ToString() == treeField.ToString());
}
return kk;

},
"HUJIBH",
null,
(GY_SHENGSHIQX item) =>
{
bool b = HasLeaf(item.HUJIBH.ToString());
if (item.SHANGCENGBH == "0" || b == true)
{
return new TreeGridNodeOption() { State = NodeStateType.Closed, Checked = true, IconCls = "", HasChild = true };
}
else
{
return new TreeGridNodeOption() { State = NodeStateType.None, Checked = true, IconCls = "" };
}
}
);

Response.Write(json);
Response.End();
}

谷歌浏览器下,一切正常,动态的加载每一级,删除之树内的节点,可及时刷新其父节点下的所有内容,而在IE下边儿就是不行,不知道为什么反复的在EasyUI下查找API,反复的试验 reload refresh 未果,求解
...全文
1026 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyw1592951 2012-07-12
  • 打赏
  • 举报
回复
url: 'xingZhengDmzd.aspx?action=paint&trans=0&timeid=' + Math.random();

关于ajax浏览器缓存的清除

1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数

2:在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")一般情况下,这里的XMLHttpRequest不会直接使用你应该可以找到这样的代码

可以有效的解决下些不保存数据的更新程度问题
SYPRO示例项目源码和EasyUI入门视频教程,视频在我的百度网盘中,可以下载学习: sypro示例程序(springMvc+hibernate4+easyui) sshe示例程序(struts2+spring3+hibernate4+easyui)(Maven构建) easyui1.2.6整站文件.zip jquery1.7.2中文API修正版.chm jquery.easyui-1.2.5源码未压缩版.rar jquery-easyui-1.2.6.zip JQuery-esqyUI中文-1.2.5API.CHM 第01课(大概介绍一下easyui,和组织的地址,官方网站等) 第02课(介绍easyloader组件和easyui怎样使用) 第03课(parser组件panel组件) 第04课(通过用户登录来演示dialog、ajax的使用,serialize方法的使用,前后台怎样交互等) 第05课(讲解easyui的form控件、validatebox控件、怎样跟后台交互) 第06课(讲解easyui的layout的使用) 第07课(讲解datagrid的基本应用,后台交互,排序功能) 第08课(讲解datagrid的查询,toolbar的多种创建方式,清空查询条件,扩展一个form序列化object的方法,load、reload方法的使用和区别,datetimebox初始化时需要注意的问题) 第09课(讲解datagrid的行编辑模式,增加、删除、修改,扩展editor的类型,扩展datagrid,增加动态改变editor属性,简单介绍了form的load,简单介绍了弹窗编辑模式,讲解了双击行开启编辑模式,选择行开启编辑模式,取消编辑模式。讲解insertRow、appendRow、getRowIndex、getSelections、unselectAll、rejectChanges等方法的使用和区别) 第10课(datagrid增加、删除、修改功能,结合后台讲解,怎样获得增加或删除的数据,怎样传递到后台,如果添加或修改不成功,怎样回滚操作,后台操作成功,保持状态等。和清空datagrid的简单方法。) 第11课(介绍一些easyui群,介绍easyui论坛等信息。datagrid冻结列讲解,datagrid右键菜单讲解,forzenColumns与fitColumns的应用) 第12课(讲解datagrid的formatter的应用,格式化时间、行样式、列样式、表头居中,内容居右等应用)(formatter的提示功能,由于录制问题,没有录制到提示信息,所以大家自己去测试一下吧,不能重新录制了。) 第13课(讲解easyui更换主题皮肤) 第14课(讲解tree的应用,tree的初始化方式、异步tree都需要那些配置、tree的lines、url、checkbox、属性,onLoadSuccess事件,getChecked方法的应用) 第15课(继续讲解tree的使用,介绍tree需要的JSON格式、常用事件和方法,结合tabs的使用等) 第16课(tree数据载入后自动选中想要选择的节点tree的iconCls需要注意的地方、js中不可以用search当function名称、combo组件的基本使用) 第17课(combobox属性介绍、combobox的autocomplete功能、联动功能,本地过滤和远程过滤功能、combobox方法介绍。简要描述datagrid行编辑模式中editor类型是combobox需要注意的问题。简要描述easyui1.3的data-options初始化方式。) 第18课(讲解combotree组件的使用) 第19课(讲解combogrid组件和treegrid组件的使用) 第20课(讲解PropertyGrid组件的使用)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧