admin 管理员组文章数量: 1086019
2024年3月26日发(作者:swift最新教程)
通用G ridView控件简化信息及详细显示的实现
罗亚玲
(广东松山职业技术学院计算机系,韶关512126)
摘要:利用ASP.NET 2.0中的Gridview控件显示从后台数据库中读取的数据.是一般动态网页中
常用的技术。提出GridView- ̄#在具体应用过程中遇到的长字段如何简化显示的思路.并
给出具体解决显示方式的实现方法。通过具体软件项目的应用与实践验证,取得预期的效
关键词:GridView;简化信息;通用性;软件复用
0 引言
tionString, ̄性的设置可以由用户在调用的时候灵活的
GridView控件作为ASP.NET 1.1下的DataGrid的替
设置,从而实现数据库的动态连接。以下有两种方法:
代品.是现在ASP.NET 2.0中数据绑定中非常实用的控
}
件之一.它能够通过很简单的操作显示大量的信息.它
public SqlDb(string connectionString)
private string connectionString;
内置了表格呈现样式。GridView控件用来在表中显示
public SqlDb0
数据源的.每列表示一个字段。而每行表示一条记录
{ connectionString = ConfigurationManager.Connec—
但是当某条记录的某个字段相当长时.例如说存放的
tionStrings[”ConnectionString”】.C0nnecti0nString’,,在web.eonfig
是新闻信息.这时通过GridView控件以表格方式显示出
中配置"conn"的数据库连接字符串
来的信息显得相当冗长,不利于方便阅读。利用.NET技
f
术的分层结构的特点.采用“搭积木”的方式生产软件.
this.eonneetionString=c0nnecti0nString;//参数传递赋值
设计并实现了通用的GridView控件显示简化信息的方
}
法.并且可以通过自定义模板增加超链接以显示详细
(2)定义设计所需的数据库操作方法
信息.其中所涉及到的所有类均可以复用,以能提高系
在要设计的组件中需用到DataReader和DataTable
统的开发效率
对象.在此定义了两个方法.分别实现了返回对应类型
1 主要功能与实现
的数据库操作,根据实际设计的不同。此类中的数据操
作方法还可以进行扩充。
1.1通用数据库操作类的实现
public SqlDataReader ExecuteReader(string sq1)
在ADO.NET中.可以使用不同的对象实现对数据
{
库的操作.为充分实现可复用性,在此设计了一个通用
SqlConnection connection:new Sqlconnecti0n(connec-
数据库类.以能够保证多种不同对象的操作
tionString);
(1)连接字符串COnnectionString的设置
SqlCommand command=new SqlCommand(sql,connec-
在ADO.NET中,对数据库进行操作时需要先请求
ti0n1:
连接.以便进行客户端相关信息的认证.作为通用信息
connection.Open0;
显示,要能够实现对不同数据库的检索.因此connec—
return command.ExecuteReader0;
}
收稿日期:2011-02—15 修稿日期:2011—02—20
作者简介:罗亚玲(1977-),女,湖南邵阳人,讲师,硕士,研究方向为web开发及应用
囝 现代计算机2o11.02
开发案例
public DataTable ExecuteDataTable(string sq1)
{
DataTable data=new DataTable 0;//实例4E DataTable.
用于装载查询结果集
SqlConnection connection=new SqlConnecti0n(connec-
tionString)
SqlDataAdapter adapter=new SqlDataAdapter(sql,con—
nection);
adapter.Fil1(data);//填充DataTable
retum data;
}
1.2通用简化信息类的实现
(1)截取字符方法的实现
当需要显示的字段较长时.通过此方法可以将多
余的字符去掉,只显示用户所要求的前几个字符,去掉
的字符用“……”代替。此中用到了Substring方法。参数
sString代表原来的字符串,参数Leng代表要保留的字符
数。
public string SubStr(string sString,int Leng)
{
if rsString.Length<=Leng)
{
return sString;
}
string sNewStr=sString.Substring(0,Leng);
sNewStr=sNewStr+”…”:
return sNewS ̄;
}
(2)DataView控件获取简化信息方法的实现
此方法能将SubStr方法中所得到的简化信息赋与
DataView控件的对应字段。在此设定了一个门槛,要求
只有当字段类型为较长类型:例 ̄1]text或ntext时才进行
信息的简化,当然也可以不要这个门槛,只要超过设定
的字符数,均简化。此方法有三个参数:GV1代表用户
界面的DataView控件,sql为查询语句,lengh指所留字符
数。
public void sub(GridView GV1,stirng sql,int lengh)
{
OleDbDataReader dr=da.ExecuteReader(sq1);
DataTable dt=da.ExecuteDataTable(sq1);
for(int i=0;i<=GV1.Rows.Count一1;i++)
{
DataRowView mydrv;
stirng record1,record2;
if fGV1.PageIndex==o1
||表名
mydrv=dt.DefauhView[i];
//所要处理的字段
else
mydiw=dt.DefauhView[i+(GV1.PageSize GV1.
PageIndex)];
ofr(int k=0;k<:dr.FieldCount一1;k++)
{
,/若省略此if条件,则所有长度超过lengh个字符的
字符串均被简化处理
if(dr.GetDataTypeName(k)==”text”Ildr.Get-
DataTypeName(k)==”ntext”)
{
record1=Convert.ToString(mydrv[k]);
//截取lengh个字符
GV1.Rows[i].Cells[k+l】_Text=SubStr(record1,
lengh);
}
}
}
}
1.3通用详细信息显示类
因为DataView控件将较长的信息进行简化处理.
所以若用户想完整地看到信息内容时.需用到详细信
息显示类,考虑到通用性,此类在设计时所有内容完全
自动产生,无需知道数据表的具体结构,其中所用的
TableBind方法有两个参数:startifled表示所显示数据表
记录的开始字段,sql为查询语句。
public string TableBind(int startifled,stirng sq1)
{
SqlDb da:new SqlDb0;
DataTable dt=da.ExecuteDataTable(sq1);
string strBody=”<table>”;//11)表格形式显示数据表某
条记录的信息
for(int i:startfiled;i<dt.Columns.Count一1;i++)
{
strBody+=”<tr><td>”+dt.Columns[i].ColumnName+”
</td><td>”+dt.Rows[i].ToString0+”</td></tr>”:,/在表格中显
现代计算机2011.02 @
示记录的字段名及值
超链接.HTML ̄IJ下:
<asp:Templateneld HeaderText=”详细信息”>
}
strBody+=”</table>”:
return strBody;
<ItemTemplate><a href=”Detailscom.aspx?id=<%#Eval(”
ID”)%>”>详细信息<,a></ItemTemplate>
</asp:TemplateField>
}
2 类的调用
W b页主界面的实现非常简单,只需将一个
DataView控件拖入界面中.将其AutoGenerateColumns属
性均设为“TRUE”,然后在代码页的pagejoad事件中添
加代码:
SqlDb da=new SqlDb0;
string sql=”SELECT FROM NewsInfo”:
超链接转向详细信息显示页.在此页的代码页的
Dage—l0ad事件中添加代码:
Createta show=new Createta0;
string sⅡ1:”SELECT*FROM NewsInfo where id=”+Re.
quest.QueryString[”id”];
Response.Write(show.TableBind(1,sq1)
这样 当在DataView控件中点击“详细信息”时,此
页即会自动将某条记录的全部信息显示出来。
DataTable dt:da.ExecuteDataTable(sq1);
GV1.DataSonree=dt;//设置数据源,用于填充控件中的
项的值列表
GV1.DataBindO;,/将控件及其所有子控件绑定到指定的
数据源
参考文献
[1】周金桥.ASP.NET ̄-[M].电子工业 版社,2009
『21王梅 滕晓婉,张明静.GridView控件在自动组卷系统中的应
Newsshow sstr new Newsshow0;
用【JJ.现代计算机(专业版),2009,9:121—123
『21樊建.ASP.NET+ADO.NET'S.目开发实例[M】.清华大学出版
礼.2004
sstr.sub(GV1,sq1);
此段代码即能在DataView控件中显示简化的信
息。需要进一步显示详细信息,则要为DataView控件添
加一个自定义字段.在此字段的数据模板中添加一个
I mplementation of Universal G ridView Control Simply
I nformation and Detail Display
LUO Ya-ling
(Computer Department,Guangdong Songshan Polytechnic College,Shaoguan 512126)
ng ASP.NET 2.0 GridView controls to demonstrate the data read from the baekstage data—
Abstract
Usi
base,is the commonly technology used in the general dynamic homepage.Puts forward Grid—
View control in concrete application encountered in the process of long fields,presents the idea
how to simplify the display to solve the implementation method of the display mode.The antici—
—
pated effect has been obtained through the concrete software project application and the prac—
tice confirmation.
Keywords
GridView;Simplify Information;Universality;Software Reuse
@ 现代计算机2011.02
版权声明:本文标题:通用GridView控件简化信息及详细显示的实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1711467643a595691.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论