• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

十天学会ASP.net之第八天

发布: 2007-9-07 19:42 | 作者: admin | 来源: eNet论坛 | 查看: 24次 | 进入软件测试论坛讨论

领测软件测试网   首先看一下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

我们这样写代码:
<%@import Namespace="System.Data"%> <%@import Namespace="System.Data.OleDb"%>
<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.DataBind(); objConnection.Close(); } </script>

<html>
<body>
<asp:DataGrid id="dgrdMain" cellpadding="1" showheader="false" autogeneratecolumns="false" borderwidth="1" runat="server"> <columns> <asp:boundcolumn datafield="ii"/> <asp:TemplateColumn> <itemTemplate> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td><%# DataBinder.Eval(Container,"Dataitem.aa").ToString()%></td> </tr><tr> <td><%# DataBinder.Eval(Container,"Dataitem.bb").ToString()%></td> </tr> </table> </itemTemplate> </asp:TemplateColumn> </columns> </asp:datagrid>


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网