仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 477|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之全编纂WebGrid控件LrcGrid(3)――全体结...

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:12:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了web|控件全编纂WebGrid控件LrcGrid(3)――全体布局

资本文件:

LrcGrid利用两个援用文件:一个CSS款式表文件MyFSheet.css,一个js剧本库文件UpdArray_LRC.js。

款式表文件中寄存着使用于文本框的款式表类,用于文本框处于分歧形式(扫瞄、编纂、核心)时的款式

1.埋没(扫瞄)款式:

.lrc_txt_hid
{
border-style:none;
width:95;
background:url(images/txt_back.gif);
}



2.编纂款式:

.lrc_txt_show
{
border-style:groove;
background-color:#ffffff;
width:95;
}


3.核心款式:

.lrc_txt_edit
{
border-width:medium;
border-style:groove;
font-weight:bolder;
background-color:Yellow;
width:95;
}


剧本库:包括了控件客户端操纵的函数.包含:

将表格行切换到编纂形式的函数:chgEditRow(rowIndex,tab)()
将表格列切换到编纂形式的函数:chgEdit(colIndex,tab)
在客户端机关更新数据库的sql语句:BuildSql(tabName)
增加新纪录的函数:AddRow(tab)
移除新增加行的函数: RemoveRow(tab):
将在今后贴出全体代码,假如贴在这里太长了.

LrcGrid类布局:

LrcGrid包括三个类和一个列举
VirtualRecordCount类:纪录分页信息
PageChangedEventArgs类:承继自EventArgs换页事务
PagerStyle列举:分页导航条的情势列举
LrcGrid类:承继自System.Web.UI.WebControls.Table,完成INamingContainer接口。
前几个都对照复杂,我把代码间接贴出来。
#regionVirtualRecordCountclass纪录分页信息的类

publicclassVirtualRecordCount

{

publicintRecordCount;

publicintPageCount;

publicintRecordsInLastPage;

}

#endregion



#regionPagerStyleenum分页导航条的情势列举

publicenumPagerStyle

{

NextPrev,

NumericPages

}

#endregion



#regionPageChangedEventArgsclass换页事务类

publicclassPageChangedEventArgs:EventArgs

{

publicintOldPageIndex;

publicintNewPageIndex;

}

#endregion


LrcGrid类就对照庞大了,1000多行吧,大致布局以下(在前面的章节中将连续贴出全体源码!):
[

ToolboxData("<{0}:LrcGridrunat=server></{0}:LrcGrid>"),

DefaultProperty("SelSql")

]

publicclassLrcGrid:System.Web.UI.WebControls.Table,INamingContainer

{



publicLrcGrid():base(){……}

#region公有变量

private……

#endregion



#region和分页有关的公有变量

private……

#endregion



#region大众属性

///<summary>

///外键唆使

///</summary>

[

Category("关头"),

Description("外键.格局:本表列名|外键列名|要显现的外键列名|外键表名,.....")

]

publicstringFkCol

{

get{return_fkCol;}

set{_fkCol=value;}

}

……

#endregion

#region和分页有关的大众成员

#endregion


#region大众办法重修

///<summary>

///从头机关控件

///</summary>

publicvoidReBuild(){……}

#endregion



#regionOverride历程

protectedoverridevoidCreateChildControls()

{this.ReBuild();}

protectedoverridevoidOnPreRender(EventArgse){……}

#endregion



#region排序

privatevoidlk_Command(objectsender,CommandEventArgse){……}

#endregion

#region创立题目行

privatevoidbuildTitle(){……}

#endregion

#region创立数据行

privatevoidbuildCol(){……}

#endregion

#region创立操纵行

privatevoidbuildOper(){……}

#endregion

#region初始化数据集

privatevoidinitDataSet(){……}

#endregion

#region判别是不是是编纂列

privateboolisEditCol(inti){……}

#endregion

#region判别是不是是外键列

privateboolisFkCol(intii){……</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-20 08:13:15 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
柔情似水 该用户已被删除
板凳
 楼主| 发表于 2015-1-25 16:00:18 来自手机 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
精灵巫婆 该用户已被删除
地板
发表于 2015-2-3 05:11:36 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
小女巫 该用户已被删除
5#
发表于 2015-2-8 19:42:33 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
admin 该用户已被删除
6#
发表于 2015-2-25 23:43:22 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
简单生活 该用户已被删除
7#
发表于 2015-3-8 10:25:03 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
兰色精灵 该用户已被删除
8#
发表于 2015-3-15 22:05:44 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
乐观 该用户已被删除
9#
发表于 2015-3-22 05:25:52 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表