js Datagridview

hanbb1982 2008-06-04 11:51:30
请问有谁懂得用JAVASCRIPT绑定DATAGRIDVIEW?
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
belldandy11 2008-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fellowcheng 的回复:]
最多用异步方式加载数据吧

GridView分页程序作者:四叶草 日期:2007-10-09
字体大小: 小 中 大
要想实现无刷新分页,就需要拦截GridView的PageIndexChange()事件,然后用ICallBackEventHandler实现无刷新回调.可是我发现如果GridView采用正常的分布方法的话,很难在客户端捕获到这个事件.于是我想了个办法,那就是采用模版的方式来编辑用于分页操作的Row,在模版放上我们自己添加上去的控件来实现翻页操作.具体的做法是:

1…
[/Quote]
mark
fellowcheng 2008-06-04
  • 打赏
  • 举报
回复
最多用异步方式加载数据吧

GridView分页程序作者:四叶草 日期:2007-10-09
字体大小: 小 中 大
要想实现无刷新分页,就需要拦截GridView的PageIndexChange()事件,然后用ICallBackEventHandler实现无刷新回调.可是我发现如果GridView采用正常的分布方法的话,很难在客户端捕获到这个事件.于是我想了个办法,那就是采用模版的方式来编辑用于分页操作的Row,在模版放上我们自己添加上去的控件来实现翻页操作.具体的做法是:

1.往页面上放一个GridView,将其放置于一个DIV中.正常设置分页操作.

2.进入模版编辑界面,选择编辑Pager Template,放上用于执行分页操作的控件.我的做法是放两个LinkButton控件.ID分别设为lnkbtnPrev,lnkbtnNext.

3.在GridView1_DataBound事件中给这两个控件添加相应的客户端事件.代码如下:

GridViewRow pagerRow = GridView1.BottomPagerRow;
LinkButton lnkPrev = (LinkButton)pagerRow.Cells[0].FindControl("lnkbtnPrev");
LinkButton lnkNext = (LinkButton)pagerRow.Cells[0].FindControl("lnkbtnNext");
int newPageIndex = GridView1.PageIndex;
lnkPrev.Enabled = false;
lnkNext.Enabled = false;
lnkPrev.Attributes.Remove("onclick");
lnkNext.Attributes.Remove("onclick");
if (newPageIndex > 0)
{
lnkPrev.Enabled = true;
lnkPrev.Attributes.Add("onclick", "setPageTo(" + (newPageIndex - 1).ToString() + ");return false;");
}
if (newPageIndex < GridView1.PageCount - 1)
{
lnkNext.Enabled = true;
lnkNext.Attributes.Add("onclick", "setPageTo(" + (newPageIndex + 1).ToString() + ");return false;");
}

4.在客户端脚本中添加setPageTo()方法,以实现回调.

function setPageTo(pageIndex)
{
var context=document.getElementById("listDIV");
context.innerHTML="<IMG SRC='Images/pie.gif' />数据加载中...";
var arg='pageChange|'+pageIndex;
<%= ClientScript.GetCallbackEventReference(this, "arg", "onCallServerComplete", "context")%>;
}

function onCallServerComplete(result,context)
{
context.innerHTML=result;
}

5.在服务器端添加用于实现回调的方法,重新生成GridView分页后的HTML代码,传回客户端.

public void RaiseCallbackEvent(string eventArgument)
{
serverReturn = eventArgument;
}
public string GetCallbackResult()
{
return pageChange(int.Parse(serverReturn ));
}

private string pageChange(string newIndex)
{
int newPageIndex = int.Parse(newIndex);
//设置数据源
GridView1.DataBind();

return getRenderCode();

}

private string getRenderCode()
{
StringWriter writer1 = new StringWriter(CultureInfo.InvariantCulture);
HtmlTextWriter writer2 = new HtmlTextWriter(writer1);

GridView1.Visible = true;
GridView1.RenderControl(writer2);
writer2.Flush();
writer2.Close();

return writer1.ToString();

}
sunshine_anycall 2008-06-04
  • 打赏
  • 举报
回复
太强了,学习一个

62,046

社区成员

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

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

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

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