如何ios 避免cell多次点击调用datagrid的方法进行多次渲染

jquery easyui的datagrid在初始化的时候会请求两次URL? - ITeye问答
easyui的版本是1.2.5,使用时发现用控件方法构造datagrid时会请求两次URL,网上搜索都认为是因为在html代码里写了class="easyui-datagrid"导致的,但是我在html的table标签里只有一个id属性,不知道为什么也会出现重复加载的情况?
问题补充:代码很简单,就是一般的构造datagrid的代码,$(table名称).datagrid({url:...,其他属性})这种形式。奇怪的地方就在于程序有很多页面都用到了datagrid,但是有的会出现两次请求有些却没有,构造的代码基本上时一样的,所以才让人费解
将 class="easyui-datagrid" 去掉就可以了,不用加class="easyui-datagrid"就可以了,非常感谢,问题解决了
html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid")
即:&table id="DataGrid" class="easyui-datagrid"& 改为 &table id="DataGrid"&
/demo_c110_i3805.html
你好!请问下这个问题是怎么解决的啊!我现在也遇到了这个问题,能教下我吗?谢谢了!
就是,我的也是加载两次,第一次没有参数,也没有数据,第二次才有参数,有数据,怎么回事?
你是不是加载了两次?
已解决问题
未解决问题首先是原理:
在使用easyui&datagrid实现的数据表格中,有两种方式来注册datagrid组件,分别是class方式和javascript方式,
其中class方式为在table标签上添加class=&easyui-datagrid&,例如:
&table id=&dg&
title=&& class=&easyui-datagrid&&&/table&
javascript方式为:
$('#dg').datagrid({ //这里面填写初始化datagrid的参数 });
这两种注册方式不能并存,否则将引起二次加载。
在javascript注册方式中设置url将会自动触发查询,但使用这种方式来实现查询功能是不可取的,因为这样会使得datagrid每次查询都要重新渲染一次。
正确是思路是:在页面上仅注册一次datagrid(如果不需要进入页面直接查询的话,则不要设置url),然后在查询时通过获取datagrid的options来设置url,再用load或者reload方法进行查询,例子如下:
$(function(){
function queryData() {
var opts=$(&#dg&).datagrid(&options&);
if(null==opts.url||&&==opts.url){
opts.url=&xxx.action&;
$(&#dg&).datagrid(&reload&);
function initDg(){
$('#dg').datagrid({
url:s_url,//需要立即查询时开启url
pageNumber:1,
queryParams : $('#form').serializeObject()
补充:使用reload进行重载,有可能存在分页数字显示错误的问题(比如我选择第三页,然后输入查询条件进行查询,查询后的结果显示正常,但分页参数会留在第三页),
使用load进行重载则没有这个问题
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5817次
排名:千里之外
(1)(1)(3)(1)(4)(1)(1)(1)(1)datagrid 每次编辑提交后会重新渲染此行的元素 - jQuery MiniUI - Powered by Discuz!
jQuery MiniUI
标题: datagrid 每次编辑提交后会重新渲染此行的元素
作者: ffffohno& & 时间:
17:02:24 & & 标题: datagrid 每次编辑提交后会重新渲染此行的元素
本帖最后由 ffffohno 于
17:08 编辑
我有一个状态值以hidden的形式 ,写在grid的一列中 ,实现方式就是drawCell:
grid.on(&drawcell&, function (e) {
& && && && && & var column = e.
& && && && && & if (column.name == &attach&) {
& && && && && && &e.cellHtml =&&'&input type=&hidden&&&value =&xxx&/&';
& && && && && & }
& && &&&});
然后我有需要动态设计该列内容。
然而就算设置了,同一行的其他数据一旦被编辑,hidden列又重新调用drawcell,回到原来的状态值。
有没有办法解决这个问题?
1、我的表格的实现形式大致如:,就是加了一列需要维护的状态值
2、此值必须绑定行项目
作者: dforce& & 时间:
更新肯定会重绘整行
你要保存一个数据的话,可以直接放到行对象上,不需要绘制放到html里
作者: ffffohno& & 时间:
dforce 发表于
更新肯定会重绘整行
你要保存一个数据的话,可以直接放到行对象上,不需要绘制放到html里 ...
编辑了一个值也会触发更新整行,而且非可编制单元格也重新绘制。
这里面有办法阻止他更新整行吗?
作者: ffffohno& & 时间:
本帖最后由 ffffohno 于
09:07 编辑
dforce 发表于
更新肯定会重绘整行
你要保存一个数据的话,可以直接放到行对象上,不需要绘制放到html里 ...
其实我这里面不止保存一个数据这么简单,而是一个有状态的自定义html组件,需要绘制放到html里,只是为了简化问题说成一个值。
因为编辑而被还原,尝试了多种办法也没有解决方案
使用cellcommitedit 回调方法,设置.cancel =可以阻止更新,但是编辑也无效了
作者: ffffohno& & 时间:
dforce 发表于
更新肯定会重绘整行
你要保存一个数据的话,可以直接放到行对象上,不需要绘制放到html里 ...
或者drawCell阶段,有没有方法判断是来自编辑更新,并获取重新绘制前的元素html并直接返回?
作者: felt& & 时间:
ffffohno 发表于
或者drawCell阶段,有没有方法判断是来自编辑更新,并获取重新绘制前的元素html并直接返回? ...
无法判断,只能把数据放到行对象上,绘制的时候根据行对象里面的数据来绘制,这样更新之后也会重新按照这个数据来绘制
欢迎光临 jQuery MiniUI (/bbs/)
Powered by Discuz! X2温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(6008)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'easyui datagrid 大数据加载效率慢,优化解决方法',
blogAbstract:'最近在使用easyui datagrid途中发现加载数据的效率真的不是一般的差。经测试IE8加载300条数据就感觉明显的慢了,加载2000条数据就另人崩溃用时差不多60秒,就算在google'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}//<span style="COLOR: #.用&%#&DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚"&%&方式显示//<span style="COLOR: #.用sql中的case&Gender&when&1&then&'男'&else&'女'&end显示//<span style="COLOR: #.在后台写方法,前台调用显示,如Format(object&item,string&type)//<span style="COLOR: #.DataGrid1_ItemDataBound
&HTML&&&&&&HEAD&&&&&&&&&&title&GridFormat&/title&&&&&&&&&&meta&content="Microsoft&Visual&Studio&.NET&7.1"&name="GENERATOR"&&&&&&&&&&meta&content="C#"&name="CODE_LANGUAGE"&&&&&&&&&&meta&content="JavaScript"&name="vs_defaultClientScript"&&&&&&&&&&meta&content="/intellisense/ie5"&name="vs_targetSchema"&&&&&&/HEAD&&&&&&body&MS_POSITIONING="GridLayout"&&&&&&&&&&form&id="Form1"&method="post"&runat="server"&&&&&&&&&&&&&&asp:datagrid&id="DataGrid1"&style="Z-INDEX:&101;&LEFT:&8&POSITION:&&TOP:&16px"&runat="server"&&&&&&&&&&&&&&&&AutoGenerateColumns="False"&BorderColor="#CC9966"&BorderStyle="None"&BorderWidth="1px"&BackColor="White"&&&&&&&&&&&&&&&&CellPadding="4"&&&&&&&&&&&&&&&&&&FooterStyle&ForeColor="#330099"&BackColor="#FFFFCC"&&/FooterStyle&&&&&&&&&&&&&&&&&&SelectedItemStyle&Font-Bold="True"&ForeColor="#663399"&BackColor="#FFCC66"&&/SelectedItemStyle&&&&&&&&&&&&&&&&&&ItemStyle&ForeColor="#330099"&BackColor="White"&&/ItemStyle&&&&&&&&&&&&&&&&&&HeaderStyle&Font-Bold="True"&ForeColor="#FFFFCC"&BackColor="#990000"&&/HeaderStyle&&&&&&&&&&&&&&&&&&Columns&&&&&&&&&&&&&&&&&&&&&&asp:TemplateColumn&HeaderText="ID"&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#&DataBinder.Eval(Container.DataItem,"UserID")&%&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateColumn&&&&&&&&&&&&&&&&&&&&&&asp:TemplateColumn&HeaderText="学位"&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#&Format(Container.DataItem,"Degree")&%&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateColumn&&&&&&&&&&&&&&&&&&&&&&asp:TemplateColumn&HeaderText="性别"&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#&DataBinder.Eval(Container.DataItem,"Gender")&%&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateColumn&&&&&&&&&&&&&&&&&&&&&&asp:TemplateColumn&HeaderText="婚姻状况"&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#&DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚"&%&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateColumn&&&&&&&&&&&&&&&&&&&&&&asp:TemplateColumn&HeaderText="描述"&&&&&&&&&&&&&&&&&&&&&&&&&&ItemTemplate&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#&DataBinder.Eval(Container.DataItem,"Description")&%&&&&&&&&&&&&&&&&&&&&&&&&&&/ItemTemplate&&&&&&&&&&&&&&&&&&&&&&/asp:TemplateColumn&&&&&&&&&&&&&&&&&&/Columns&&&&&&&&&&&&&&&&&&PagerStyle&HorizontalAlign="Center"&ForeColor="#330099"&BackColor="#FFFFCC"&&/PagerStyle&&&&&&&&&&&&&&/asp:datagrid&&/form&&&&&&/body&&/HTML&
public&class&GridFormat&:&System.Web.UI.Page&&&&{&&&&&&&&protected&System.Web.UI.WebControls.DataGrid&DataGrid1;&&&&&&&&&&&&private&void&Page_Load(object&sender,&System.EventArgs&e)&&&&&&&&{&&&&&&&&&&&&//<span style="COLOR: #.用&%#&DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚"&%&方式显示&&&&&&&&&&&&//<span style="COLOR: #.用sql中的case&Gender&when&1&then&'男'&else&'女'&end显示&&&&&&&&&&&&//<span style="COLOR: #.在后台写方法,前台调用显示,如Format(object&item,string&type)&&&&&&&&&&&&//<span style="COLOR: #.DataGrid1_ItemDataBound&&&&&&&&&&&&DataBind();for(int&i=<span style="COLOR: #;&i&&&DataGrid1.Items.C&i++)&&&{&&&&&&&if(DataGrid1.Items[i].Cells[<span style="COLOR: #].Text=="男")&&&&{&&&&&DataGrid1.Items[i].Cells[<span style="COLOR: #].ForeColor&=&System.Drawing.Color.R&&&&}&&&}&&&&&&&&}&&&&&&&&GetDataSet#region&GetDataSet&&&&&&&&private&DataSet&GetDataSet(string&sql)&&&&&&&&{&&&&&&&&&&&&string&constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];&&&&&&&&&&&&SqlDataAdapter&&&&sda&=new&SqlDataAdapter(sql,constring);&&&&&&&&&&&&DataSet&ds=new&DataSet();&&&&&&&&&&&&sda.Fill(ds);&&&&&&&&&&&&return&&&&&&&&&}&&&&&&&&#endregion&&&&&&&&&&&&&&&&DataBind#region&DataBind&&&&&&&&private&void&DataBind()&&&&&&&&{&&&&&&&&&&&&string&sql="select&UserID,Degree,Gender&=case&Gender&when&1&then&'男'&else&'女'&end,MaritalStatus,Description&from&formatgrid&";&&&&&&&&&&&&DataSet&ds=GetDataSet(sql);&&&&&&&&&&&&this.DataGrid1.DataSource=&&&&&&&&&&&&this.DataGrid1.DataBind();&&&&&&&&}&&&&&&&&#endregion&&&&&&&&Format#region&Format&&&&&&&&protected&string&Format(object&item,string&type)&&&&&&&&{&&&&&&&&&&&&DataRowView&drv=(DataRowView)&&&&&&&&&&&&string&val=string.E&&&&&&&&&&&&switch&(drv["Degree"].ToString().ToLower())&&&&&&&&&&&&{&&&&&&&&&&&&&&&&case&"<span style="COLOR: #":&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&val="博士后";&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&case&"<span style="COLOR: #":&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&val="博士";&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&&case&"<span style="COLOR: #":&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&val="硕士";&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&&case&"<span style="COLOR: #":&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&val="学士";&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&default:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&val=drv["Degree"].ToString();&&&&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&}&&&&&&&&&&&&return&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&#endregion&&&&&&&&&&&&&&&&Web&Form&Designer&generated&code#region&Web&Form&Designer&generated&code&&&&&&&&override&protected&void&OnInit(EventArgs&e)&&&&&&&&{&&&&&&&&&&&&//&&&&&&&&&&&&//&CODEGEN:&This&call&is&required&by&the&ASP.NET&Web&Form&Designer.&&&&&&&&&&&&//&&&&&&&&&&&&InitializeComponent();&&&&&&&&&&&&base.OnInit(e);&&&&&&&&&&&&this.DataGrid1.ItemDataBound+=new&DataGridItemEventHandler(DataGrid1_ItemDataBound);&&&&&&&&}&&&&&&&&&&&&&&&&/**//**//**//**//**//**//**////&&summary&&&&&&&&&///&Required&method&for&Designer&support&-&do&not&modify&&&&&&&&///&the&contents&of&this&method&with&the&code&editor.&&&&&&&&///&&/summary&&&&&&&&&private&void&InitializeComponent()&&&&&&&&{&&&&&&&&&&&&&&&&this.Load&+=&new&System.EventHandler(this.Page_Load);&&&&&&&&}&&&&&&&&#endregion&&&&&&DataGrid1_ItemDataBound#region&DataGrid1_ItemDataBound&&&&&&&&private&void&DataGrid1_ItemDataBound(object&sender,&DataGridItemEventArgs&e)&&&&&&&&{&&&&&&&&&&&&if&(e.Item.ItemType!=ListItemType.Header) &&&&&&&&&&&&{&&&&&&&&&&&&&&&&string&subject=Convert.ToString(DataBinder.Eval(e.Item.DataItem,"Description"));&&&&&&&&&&&&&&&&if&(subject.Length&&<span style="COLOR: #)&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&subject=subject.Substring(<span style="COLOR: #,<span style="COLOR: #)+"";&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&e.Item.Cells[<span style="COLOR: #].Text= &&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&if&(e.Item.ItemType!=ListItemType.Header) &&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&e.Item.Cells[<span style="COLOR: #].Attributes.Add(&"onmouseover","this.style.color='Red';this.style.cursor='hand'");&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&e.Item.Cells[<span style="COLOR: #].Attributes.Add(&"onmouseout","this.style.color='Black';this.style.cursor='default'");&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&#endregion&&&&}
3.数据库教本
if&exists&(select&*&from&dbo.sysobjects&where&id&=&object_id(N'[dbo].[FormatGrid]')&and&OBJECTPROPERTY(id,&N'IsUserTable')&=&<span style="FONT-WEIGHT: COLOR: #)drop&table&[dbo].[FormatGrid]GOCREATE&TABLE&[dbo].[FormatGrid]&(&&&&[UserID]&[int]&NULL&,&&&&[Degree]&[int]&NULL&,&&&&[Gender]&[int]&NULL&,&&&&[MaritalStatus]&[int]&NULL&,&&&&[Description]&[nvarchar]&(<span style="FONT-WEIGHT: COLOR: #0)&COLLATE&Chinese_PRC_CI_AS&NULL&)&ON&[PRIMARY]GO--测试数据insert&into&FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)&values(<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,'可以读取流。读取是从流到数据结构(如字节数组)的数据传输。')insert&into&FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)&values(<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,'可以写入流。写入是从数据结构到流的数据传输。')insert&into&FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)&values(<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,'流可以支持查找。查找是对流内的当前位置进行查询和修改。查找功能取决于流具有的后备存储区类型。例如,网络流没有当前位置的统一概念,因此一般不支持查找。')insert&into&FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)&values(<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,'小山哥')insert&into&FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)&values(<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,<span style="FONT-WEIGHT: COLOR: #,'山哥')

我要回帖

更多关于 datagrid 重新渲染 的文章

 

随机推荐