欢迎光临
我们一直在努力

十天学会ASP.net之第八天-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

学习目的:初步掌握datagrid的使用

以前在asp中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在asp.net中就好了,一切工作都可以让datagrid来做。

首先看一下datagrid的样式方面的属性

backimageurl="" 背景图片

cellspacing="" 单元格间距

cellpadding="" 单元格填充

cssclass="" 使用的css样式

datagrid可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用showheader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:

<script runat="server" language="c#">

void page_load()

{

string strconnection="provider=microsoft.jet.oledb.4.0;data source=";

strconnection+=server.mappath("guestbook.mdb");

oledbconnection objconnection=new oledbconnection(strconnection);

oledbcommand objcommand1 = new oledbcommand("select * from guestbook",objconnection);

objconnection.open();

dgrdmain.datasource=objcommand1.executereader();//dgrdmain就是下面的datagrid的id

dgrdmain.databind();

objconnection.close();

}

</script>

<html>

<body>

<asp:datagrid

id="dgrdmain"

cellpadding="1"

showheader="true"

borderwidth="0"

runat="server"

/>

</body>

</html>

至于vb的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb

显示的样子就如下:

id aa bb

1 werwe rewrwe

2 werwe rewrwe

我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):

一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:

<asp:boundcolumn datafield="想要显示的字段名">

比如说我们想按照bb,aa来输出这个表,我们这么写

<asp:datagrid

id="dgrdmain"

cellpadding="1"

showheader="true"

autogeneratecolumns="false"

borderwidth="0"

runat="server">

<columns>

<asp:boundcolumn datafield="bb"/>

<asp:boundcolumn datafield="bb"/>

</columns>

</asp:datagrid>

注意使用了autogeneratecolumns="false"以后datagrid就不会自动输出所有字段了。

二、以模板列,我们可以定制每一个单元格的样式:

<asp:templatecolumn>

<itemtemplate>

中间是一个表格,想怎么样就怎么样

</itemtemplate>

</asp:datagrid>

或许你们要说怎么在表格中输出代码那,可以使用<%# databinder.eval(container.dataitem,"字段名").tostring()%>

下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:

1 werwe

rewrwe

2 werwe

rewrwe

我们这样写代码:

<asp:datagrid

id="dgrdmain"

cellpadding="1"

showheader="false"

autogeneratecolumns="false"

borderwidth="0"

runat="server">

<columns>

<asp:boundcolumn datafield="ii"/> 首先使用默认的显示方式显示id

<asp:templatecolumn> 再使用模板来显示后面一列(由aa,bb并列组成)

<itemtemplate>

<table border="0" cellspacing="0" cellpadding="0" width="100%">

<tr>

<td><%# container.dataitem("aa")%></td>

</tr>

<tr>

<td><%# container.dataitem("bb")%></td>

</tr>

</table>

</itemtemplate>

</asp:datagrid>

</columns>

</asp:datagrid>

今天就说到这里,明天我们来看一下datagrid的分页显示等功能

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 十天学会ASP.net之第八天-.NET教程,Asp.Net开发
分享到: 更多 (0)