|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
学习目的:初步把握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 显示的样子就如下: idaabb 1werwerewrwe 2werwerewrwe 我们一定觉得这种显示不满足,我们有两种显示的方法(需要包括在<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两个字段放在一个单元格内显示,就似乎下面相同: 1werwe rewrwe 2werwe 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的分页显示等功能 返回类别: 教程 上一教程: ASP.NET创建XML Web服务全接触(2) 下一教程: asp.net高级教程(四)-实战篇 您可以阅读与"10天学会ASP.net之第八天"相关的教程: · 10天学会ASP.net之第二天 · 10天学会ASP.net之第六天 · 10天学会ASP.net之第四天 · 10天学会ASP.net之第十天 · 10天学会ASP.net之第九天 |
| 快精灵印艺坊 版权所有 |
首页 |
||