All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
安全技巧:用PHP,4.2书写安全的脚本_php资料_编程技术
使用PHP,5.0,轻松解析XML文档_php资料_编程技术
解决sql,server挂起_mssql学习_编程技术
讲述asp.net的DataReader与DataSet_[Asp.Net教程]
利用PHP自定义错误处理器处理出错信息_[PHP教程]
独家:C#数据库操作的三种经典用法_.net资料_编程技术
MDF文件在SQL,Server数据库中恢复技术_[SQL,Server教程]
SQL,Server:错误18483_[SQL,Server教程]
WEB 2.0中AJAX应用的详细探讨_[AJAX教程]
使用ASP.NET,2.0中的ReportViewer控件_[Asp.Net教程]
Reading number is top 10 pictures
Chinese paper-cut grilles art appreciation8
再发一张清纯美眉的照片
红楼梦金陵十二钗(1)
China's programmers are live what kind, had a look at will know that
A man's favorite things3--ZhouWeiTong
英雄联盟超神十连杀截图
寒流来了
Abdominal hit by iron--HangZhou best driver parking save passengers
各种囧况!玩游戏最不喜欢出现的十件事
Summer is most suitable for young people to travel in China7
Download software ranking
美女写真2
Kung fu panda - the secret of the teacher
Boxer's Top ten classic battle10
美女游泳记
小黑猫大战两米大花蛇
WebService在.NET中的实战应用教学视频 → 第5集
C++编程教程第三版
网络管理员第三版
c#程序设计案例教程
Ashlynn Video5
归海一刀 published in(发表于) 2014/1/30 1:57:51 Edit(编辑)
让GridView有新增记录的功能_[Asp.Net教程]

让GridView有新增记录的功能_[Asp.Net教程]

让GridView有新增记录的功能_[Asp.Net教程]
在 ASP.NET 2.0 中,GridView 支持修改/删除记录,但却不支持新增记录的功能,大多数人建议用 FormView 来完成增加记录的功能,但是 FormView 和 GridView 不是同一个表格,所以无法在同一个页面的同一个表格中显示。如果故意将 FormView 或自己的一堆于用新增功能的控件使用普通的表格组装起来,那么会碰到一个很麻烦的问题,即两个表格的列宽如何协调一致,大多数情况下,大家在做表格的时候,表格中各列的宽度都是自动调整的,所以强行指定宽度在很多情况下并不适用。
通过实践,想出了一种办法,主要步骤如下所示:
1) 在 GridView 的 EmptyDataView 中,放置一个普通的Html Table,以便在无数据时依旧显示表头,假设 ID 为 tbHeader,为下面用于新增功能的 Form 的各个控件提供说明;

2) 在 GridView 下面,放置一个普通的 HTML 表格,列数和 GridView保持一致,只有一行,内部放入用于新增功能的各个控件,假设 ID 为 tbForm

3) 在客户端中加入脚本,在页面显示到客户端时,利用 Javascript 将两个表格强行合并到一起,这样就会在 GridView 的最下面多出一行,其中有输入控件和“添加”链接(按钮),主要代码如下:



function MergeTable(source,dest){ var row; var cell; var sourceTb = document.all(source); var destTb = document.all(dest); for (var i=0; i=0; i--) { sourceTb.deleteRow(i) }} 注意:要根据表格中是否具有数据来合并不同的表格,如果没有数据,要合并 EmptyDataView 中的 Html Table (即 tbHeader)与用于新增的表格(tbForm),如果有数据,则要合并 GridView 本身(可以用 GridView.ClientID来获取其客户端 ID)和用于新增加的表格(tbForm)。简单的做法是检查页面中有没有 tbHeader 以确定表格中是否包含数据,代码如下所示:

function ChangeTableLayout()
{
if(document.all(’tbHeader’) == null)
MergeTable(’tbForm’,’<%=myGridView.ClientID %>’);
else
MergeTable(’tbForm’,’tbHeader’);
}

4) 如果是 AJAX 环境,上述脚本有可能不被执行,可以调用 Sys.Application.load.add ( JavaScriptFunction) 来强制执行脚本,来合并表格,主要代码如下:

scriptmanager myScriptManager = ScriptManager.GetCurrent(Page);
if (myScriptManager.IsInPartialRenderingMode)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowFullTable1", "ChangeTableLayout();\n", true);
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowFullTable2", "Sys.Application.load.add (ChangeTableLayout);\n", true);
}

注:上述代码中的 ChangeTableLayout 为客户端脚本函数的名称,其中调用第3步骤中的代码,上述代码在 Atlas 中通过,在 ASP.NET AJAX Beta 上尚末测试。





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.