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

Reading number is top 10 articles
自定义分页控件源码asp.net(c#)_[Asp.Net教程]
VS.Net,C#,调用,Active,组件_[Asp.Net教程]
Sql,server,2005最简单的模糊查找包_[SQL,Server教程]
C#,XML处理技术_[Asp.Net教程]
C#教程:客户机调用Web服务应用实例
PHP技巧:使用PHP制作动态网页过程中的五个技巧_[PHP教程]
visual c++中设备环境类CDC
总结showModalDialog和showModelessDialog用法_JavaScript技术_编程技术
delphi OutLook界面实例
PHPUnit袖珍指南之PHPUnit的目的_[PHP教程]
Reading number is top 10 pictures
Summer is most suitable for young people to travel in China6
2012 national geographic daily picture6
八个盛产美女的国家2
修电脑也有这么漂亮的美女
Forced sex girl living abroad1
Men's and women's orgasms
中国女孩大胆自拍,显露完美身材
粉红蕾丝的美女
这才是真正的人体艺术5
青春清纯美女大集合2
Download software ranking
Unix video tutorial6
jdk1.5
Boxer vs Yellow4
传奇私服架设教程-chm
Take off clothes to survival
C++教程第四版
WebService在.NET中的实战应用教学视频 → 第3集
传奇私服架设教程
Visual C++界面编程技术
网络管理员第三版
delv published in(发表于) 2014/1/8 7:04:00 Edit(编辑)
基于AJAX.NET技术的DataGrid控件开发_[Asp.Net教程]

基于AJAX.NET技术的DataGrid控件开发_[Asp.Net教程]

基于AJAX.NET技术的DataGrid控件开发_[Asp.Net教程]

摘要 本文中的这个DataGrid是一个客户端控件,它是使用JavaScript和Ajax.net技术构建的。

  一、 简介

  本文中要创建的这个DataGrid是一个客户端控件。它是使用JavaScript并且使用Ajax.net技术构建的以实现与ASP.NET后端代码的通讯;而在这个后端,我们使用ADO.NET存取数据库并使用Dataset更新数据库。

  这个控件具有一个DataGrid应该具有的一切特征,并且具有在你建立连接串和表名后不需要编写任何代码就能够自动工作的所有功能。

  这个Datagrid支持如下功能:

  1. 页面。

  2. 排序。

  3. Master-Detail(Detail部分还支持页面和排序)。

  4. 基于给定的列条件可以定制行颜色。

  5. 编辑。

  6. 当没有页面支持时,没有头部滚动的滚动条支持。

  7. 支持控件(图像,文本框,超级链接,下拉列表框,复选框)。

  8. 自动分割头部名称。

  9. 针对十进制、电子邮件和数字的自动校验文本框。

  通过右击屏幕打开一个弹出窗口(参考图1),可以实现这个DataGrid在不同的模式之间的切换(图2展示一种模式下的视图):




图2.这个DataGrid具有分页,Master-Detail和编辑功能。

图3.这个DataGrid具有定制控件和含有静态头部的滚动条



  二、 性能剖析

  这个DataGrid是应邀使用javascript创建的,而JavaScript并不是一种编译语言,因此,与把xtml代码直接生成到页面的技术相比,这种方式速度显然慢些。如果DataGrid包含多于200记录,那么最好还是使用页面方式。否则,性能将会受到很大影响。

  我们使用CSS(层叠式样表)来配置这个控件的外观;因此,用户可以很容易地进行修改。


  三、 用法

  这个用户控件包括五个部分:

  1. 用户控件.ascx文件

  2. JavaScript文件

  3. 数据库存取文件
 
  4. CSS文件

  5. AJAX.NET动态链接库(.dll)

  首先,要添加对ajax.dll的参考。

  然后,把UserControl目录直接复制到你的工程并且把这个用户控件添加到你的ASP.Net页面(请参考工程源码):
<%@ Register TagPrefix="WebDataGridDemo" TagName="WebDataGrid" Src= "UserControl/WebDataGridUserControl.ascx"%>
<WEBDATAGRIDDEMWEBDATAGRID id="wdg1" runat="server"> </WEBDATAGRIDDEMWEBDATAGRID>

  在这个Web.config文件中,安装连接字符串。接下来,添加对Ajax.net dll的参考:


<appSettings>
<add key="ConnectionString" value="Data Source=(local);Initial Catalog=Northwind;User Id=sa;Password=xxx;" />
</appSettings>
<httpHandlers>
<add verb="POST,GET" path="
type="Ajax.PageHandlerFactory, Ajax " />
</httpHandlers>

  在这个DynamicDataGrid.js文件中,大多数参数具有默认值,你可以通过使用该控件的Web表单来修改这些参数。


private void Page_Load(object sender, System.EventArgs e)
{
 if(!Page.IsPostBack)
 {
  WebDataGridUserControl.MainTableName="suppliers";
  WebDataGridUserControl.DetailTableName = "products";
  //这些可选的值将会覆盖默认的属性
  WebDataGridUserControl.Height =300;
  WebDataGridUserControl.Width = 780;
  WebDataGridUserControl.Editable = 1;
  WebDataGridUserControl.PageSize = 4;
 }
}

  四、 配置

  另外,你还可以修改WebDataGridUserControl.ascx.cs文件中的一些参数。

  如果你不使用页面模式,那么你可能需要改变数组ResetIfNoEditable和columnWidth以调整该格子的头部的列尺寸和行尺寸。


[Ajax.AjaxMethod]
public ArrayList InitializeInfo()
{
 ...
 // int pageable=1; masterDetail =1;editable = 1;pageSize=10; height=300
 string [] FunctionProperty = {"1", "1", gEdit, gPageSize, gridHeight, gridWidth};
 //={}-没有可用控件,0-标签,1-图像,2-超级链接,3-文本框,4-复选框,5-下拉列表框
 string [] ColumnControlType = {"0","2","3","3","0","3","4"};
 //显示哪些列(3,4,5,7)是可编辑的
 string [] ColumnEditable = {"0","0","1","1","1","0","1"};

 //下列属性仅仅用于非页面支持情况下
 //下列一句用于把第3,4,5列编辑按钮的尺寸重新设置为10,10,10
 string [] ResetIfNoEditable = {"0","0","10","10","10", "0"};

 string [] CustomizedHeadZize={"68","140","120","120","120", "0"};
 //当没有页面支持设置时,需要列宽度;你应该把一列设置为"0"
 string [] columnWidth ={"68","140","120","120","120","0"};
 ...
 return al;
}
[Ajax.AjaxMethod]
public ArrayList GetHeadArray()
{
 ...
 //这个数组应该匹配编辑字段-column3=Decimal,column4=Email,column5=Number
 string [] ValidateType = {"","","Decimal","Email","Number"};
 //赋值ColumnDisplayName = {};如果不使用定制显示名
 string [] ColumnDisplayName = {};
 ...
}

  最后,十分感谢Michael Schwarz,是他创建了搭建起JavaScript与.Net之间桥梁的ajax.net。
作者:朱先忠编译 来源:天极开发





添加到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.