首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

ASP.NET中DataGrid控件应用技巧简述

     三.HyperlinkColumn数据列以及ButtonColumn数据列的应用:
  
    上面我向大家介绍了BoundColumn数据列的应用,而其它的两种数据列:HyperlinkColumn数据列以及ButtonColumn数据列的应用方式与之相差无几。
  
  
    HyperlinkColumn数据列包含了DataTextField属性以及DataNavigateUrlField属性等,前者可以用于指定要显示的文本内容,而后者则用于指定超链接。同时HyperlinkColumn数据列还包含了一个可用于指定文本显示格式的DataNavigateUrlFormatString属性。
  
    像HyperlinkColumn数据列那样ButtonColumn数据列也提供了DataTextField属性以及DataTextFormatString属性。同时它还提供了一个CommandName属性,该属性能指定按钮被点击时服务器端的响应动作。而此时DataGrid控件的OnItemCommand属性必须指向一个相应的方法,该方法在按钮被点击时会自动被调用。DataGrid控件中的一行可以包含多个ButtonColumn数据列,每个数据列中的按钮消息响应函数都是OnItemCommand属性所对应的方法,而不同的按钮是根据其CommandName属性来区分函数所应执行的不同部分的。ButtonColumn数据列还提供了一个ButtonType属性以指定按钮的外观,该属性包括两种可取值:LinkButton(默认)和PushButton。
  
    下面我们在原来解决方案的基础上再添加一个新的Web应用程序项目,并在其中运用DataGrid控件的BoundColumn数据列、HyperlinkColumn数据列以及ButtonColumn数据列。下面是本项目的主要文件以及其代码后置文件的内容:
  
    WebForm1.aspx:
  
  <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGridTemplates2.WebForm1" %>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  <HTML>
  <HEAD>
  <title>WebForm1</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  </HEAD>
  <body MS_POSITIONING="FlowLayout">
  <form id="Form1" method="post" runat="server">
  <asp:DataGrid id="myDataGrid" runat="server" HeaderStyle-Font-Bold="True" Cellpadding="4" BorderWidth="1px" AutoGenerateColumns="False" GridLines="Horizontal" Font-Names="Verdana,Arial,sans-serif" Font-Size="12px" BorderStyle="Solid">
  <AlternatingItemStyle BackColor="#EFEFEF"></AlternatingItemStyle>
  <ItemStyle Font-Size="X-Small"></ItemStyle>
  <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Teal"></HeaderStyle>
  <Columns>
  <asp:BoundColumn DataField="CustomerID" HeaderText="ID"></asp:BoundColumn>
  <asp:HyperLinkColumn DataNavigateUrlField="Url" DataTextField="CompanyName" HeaderText="Comapny Name"></asp:HyperLinkColumn>
  <asp:ButtonColumn Text="Get Details" ButtonType="PushButton" CommandName="GetDetails"></asp:ButtonColumn>
  </Columns>
  </asp:DataGrid>
  </form>
  </body>
  </HTML>
  
  WebForm1.aspx.cs:
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Data.SqlClient;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  
  namespace DataGridTemplates2
  {
  /// <summary>
  /// WebForm1 的摘要说明。
  /// </summary>
  public class WebForm1 : System.Web.UI.Page
  {
  protected System.Web.UI.WebControls.DataGrid myDataGrid;
  
  private void Page_Load(object sender, System.EventArgs e)
  {
  // 在此处放置用户代码以初始化页面
  if( !Page.IsPostBack )
  BindData();
  }
  
  private void BindData()
  {
  SqlConnection con = new SqlConnection( "server=localhost;integrated security=true;database=Northwind" );
  SqlCommand cmd = new SqlCommand( "SELECT *, 'http://www.' + CustomerID + '.com' As Url FROM Customers", con );
  try
  {
  con.Open();
  myDataGrid.DataSource = cmd.ExecuteReader();
  myDataGrid.DataBind();
  con.Close();
  }
  catch( Exception ) {}
  if( con != null && con.State == ConnectionState.Open )
  con.Close();
  }
  
  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
  //
  // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  //
  InitializeComponent();
  base.OnInit(e);
  }

上一页  [1] [2] [3] [4] [5] [6] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·开源软件测试工具学习专题
 ·JSP Web开发 入门基础到高手进阶教程…
 ·JavaFX—是Java桌面的新希望么?
 ·安全至上 .NET开发安全策略…
 ·测试用例设计之道-测试用例学习专题
 ·面向Java开发人员的Scala指南
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性…
 ·桌面应用软件编程 J2SE技术详解…
 ·我“炫”我精彩-------WPF开发教程
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航