当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  使用 ASP+ DataGrid 控件来创建主视图/详细资料视图2

 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图2

点击次数:23 次 发布日期:2008-11-26 11:12:32 作者:源代码网
源代码网推荐      第 1 步: 一个基本的 DataGrid
源代码网推荐  
源代码网推荐  序列的第一步展示了一个页面,其中包含单独一个 DataGrid 控件,用于显示来自数据源的一个只读作者列表。结果类似于 使用 ASP+ 列表绑定控件 (英文) 所取得的效果。
源代码网推荐  
源代码网推荐  图 2. 完成第 1 步后的页面
源代码网推荐  
源代码网推荐  DataGrid 声明来自:
源代码网推荐  
源代码网推荐  Step1.aspx:
源代码网推荐  
源代码网推荐  <asp:DataGrid id="authorsGrid" runat="server"
源代码网推荐   AutoGenerateColumns="false"
源代码网推荐   BackColor="White"
源代码网推荐   BorderWidth="1px" BorderStyle="Solid" BorderColor="Tan"
源代码网推荐   CellPadding="2" CellSpacing="0"
源代码网推荐   Font-Name="Verdana" Font-Size="8pt">
源代码网推荐  
源代码网推荐   <property name="Columns">
源代码网推荐   <asp:BoundColumn HeaderText="ID" DataField="au_id">
源代码网推荐   <property name="HeaderStyle">
源代码网推荐   <asp:TableItemStyle Width="100px"/>
源代码网推荐   </property>
源代码网推荐   </asp:BoundColumn>
源代码网推荐   <asp:BoundColumn HeaderText="Name" DataField="au_name">
源代码网推荐   <property name="HeaderStyle">
源代码网推荐   <asp:TableItemStyle Width="150px"/>
源代码网推荐   </property>
源代码网推荐   </asp:BoundColumn>
源代码网推荐   <asp:BoundColumn HeaderText="State" DataField="state">
源代码网推荐   <property name="HeaderStyle">
源代码网推荐   <asp:TableItemStyle Width="50px"/>
源代码网推荐   </property>
源代码网推荐   </asp:BoundColumn>
源代码网推荐   </property>
源代码网推荐  
源代码网推荐   <property name="HeaderStyle">
源代码网推荐   <asp:TableItemStyle BackColor="DarkRed" ForeColor="White"
源代码网推荐   Font-Bold="true"/>
源代码网推荐   </property>
源代码网推荐  
源代码网推荐   <property name="ItemStyle">
源代码网推荐   <asp:TableItemStyle ForeColor="DarkSlateBlue"/>
源代码网推荐   </property>
源代码网推荐  
源代码网推荐   <property name="AlternatingItemstyle">
源代码网推荐   <asp:TableItemStyle BackColor="Beige"/>
源代码网推荐   </property>
源代码网推荐  
源代码网推荐  </asp:DataGrid>
源代码网推荐  
源代码网推荐  上面的代码展示 DataGrid,该控件的各种属性已经过声明设定。 DataGrid 控件与其它 Web 控件如 Font、BackColor、ForeColor 和 BorderWidth 共享一组公用的样式属性。另外, DataGrid 提供仅适用于表的属性如 CellPadding。最后, DataGrid 提供附加的样式属性,这些样式属性影响其中各项目和列如 HeaderStyle、ItemStyle 和 AlternatingItemStyle 的表示。这些样式属性用于创建丰富多采且极富魅力的数据视觉效果。
源代码网推荐  
源代码网推荐  DataGrid 支持从其所绑定的数据源自动生成列的功能。但是,在本例中, AutoGenerateColumns 属性已被设定为 false。因此必须借助要展示的列集对 Columns 集合进行初始化。从而可以更多地控制表现效果,诸如列的次序和标头以及与每列对应的样式。这一步中所定义的列均为 BoundColumns,从而可以通过其 DataField 属性,绑定到数据源的单独一个字段。您在以后步骤中可以看到, DataGrid 允许选择各种各样类型的列。
源代码网推荐  
源代码网推荐  下面的类包含支持本页面的代码。
源代码网推荐  
源代码网推荐  Step1Page.cs:
源代码网推荐  
源代码网推荐  namespace Samples {
源代码网推荐   ...
源代码网推荐  
源代码网推荐   public class Step1Page : Page {
源代码网推荐  
源代码网推荐   protected DataGrid authorsGrid;
源代码网推荐  
源代码网推荐   // 检索存入会话状态的应用程序数据
源代码网推荐   private DataSet GetSessionData() {
源代码网推荐   return (DataSet)Session["AppData"];
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 检索 Authors 表
源代码网推荐   private ICollection GetAuthors() {
源代码网推荐   DataSet ds = GetSessionData();
源代码网推荐   DataView dv = ds.Tables["Author"].DefaultView;
源代码网推荐  
源代码网推荐   dv.RowFilter = String.Empty;
源代码网推荐   return dv;
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 将 Authors 表载入 DataGrid
源代码网推荐   private void LoadAuthorsGrid() {
源代码网推荐   ICollection authors = GetAuthors();
源代码网推荐  
源代码网推荐   authorsGrid.DataSource = authors;
源代码网推荐   authorsGrid.DataBind();
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 超控 OnLoad,以在第一次请求过程中加载数据
源代码网推荐   protected override void OnLoad(EventArgs e) {
源代码网推荐   base.OnLoad(e);
源代码网推荐  
源代码网推荐   if (!IsPostBack) {
源代码网推荐   LoadAuthorsGrid();
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐  }
源代码网推荐  
源代码网推荐  该类超越 Page 的 OnLoad 方法 (类似于实施 Page_Load),将 Author 列表作为 DataGrid 数据源进行加载。与其它服务器控件一样, DataGrid 实施显式的数据绑定模型,其中控件只在 DataBind 方法被调用时才列举器数据源中的值。这样设计各个控件,您就可以完全控制在哪个时间点需要数据源,并将无需数据时的数据访问降至最低,例如大多数的往返过程。这一点会在将来的步骤中得到证明。
源代码网推荐  
源代码网推荐  代码还展示从 Session 状态检索的数据,数据是在会话启动过程中存为该状态的。  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华