一.概述: 运用ASP.NET开发Web应用程序过程中,DataGrid是一个非常重要的控件,几乎任何和数据相关的表现都要用到该控件。所以熟练掌握DataGrid控件的应用技巧是每个Web开发人员所必备的基本能力。
DataGrid控件能以表格的方式显示数据源中的数据,并提供了诸如分页、排序以及过滤等一些强大的内置功能,所以它能大大简化Web应用程序的开发过程。同时,开发者还可以通过运用各种不同的数据绑定列来自定义DataGrid控件显示数据的方式,这样就大大增强了DataGrid控件的功能。本文我就将向大家介绍如何运用其中的TemplateColumn、EditCommandColumn、HyperlinkColumn、ButtonColumn以及BoundColumn等来自定义DataGrid控件显示数据的方式。
二.BoundColumn数据列的应用:
一般地,我们运用DataGrid控件开发数据驱动的Web应用程序时会以一行显示数据源中的某一条记录,而其中的一列则显示某个特定的字段值。DataGrid控件本身为我们提供了强大的功能,所以我们只需要以很少的代码便可以实现数据的显示功能。不过,这样也带来了一个问题,那就是我们如何来个性化显示数据的方式呢?显然DataList控件和Repeater控件在这个方面要强于DataGrid控件,不过如果我们放弃了DataGrid控件也就相当于放弃了其具有的强大功能。那么,我们如何运用DataGrid控件也来实现数据显示的自定义功能呢?首先,我们得把DataGrid控件根据数据源自动产生数据绑定列的功能关掉,方法很简单,就是将其AutoGenerateColumns属性设置为False即可。下面是这种方法的一个示例:
<asp:DataGrid runat= "server"id="myDataGrid" AutoGenerateColumns="False">
</asp:DataGrid>
一旦其AutoGenerateColumns属性为False值,我们就得编程实现数据列的绑定了。在绑定数据列过程中,我们可以运用上面介绍的五中数据列中的任何一种,不过任何数据列都必须在<Columns></Columns>标记内被定义,这个标记能表明被定义的对象是一种数据列。
下面我们首先来介绍BoundColumn数据列的应用。通过运用BoundColumn数据列,我们能根据自己的需求来动态地将数据源中的数据绑定到特定的数据列上并修改数据列的外观,比如我们可以更改各个列显示的次序、使DataGrid控件只显示某些字段的值而非全部字段的值、更改数据列的标题等等。BoundColumn数据列能设定DataField、DataFormatString、FooterText、HeaderText、HeaderImageUrl以及SortField等属性,而正是这些使得DataGrid控件的外观变得千变万化、多姿多彩。
下面,我们来建立一个示例性的Web应用程序项目,该项目运用到了DataGrid控件,并且显示了如何在其中运用BoundColumn数据列来自定义数据的显示方式。下面是本项目的主要文件以及其代码后置文件的内容:
WebForm1.aspx:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGridTemplates.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>
<form id="Form1" method="post" runat="server">
<asp:DataGrid runat="server" id="myDataGrid" AutoGenerateColumns="False" BorderWidth="1px" Font-Names="Verdana,Arial,sans-serif" Font-Size="12px" BorderColor="#404040" GridLines="Horizontal" CellPadding="4">
<AlternatingItemStyle BackColor="#E0E0E0"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Teal"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="CustomerID" HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="CompanyName" HeaderText="Company Name"></asp:BoundColumn>
<asp:BoundColumn DataField="ContactName" HeaderText="Contact Name"></asp:BoundColumn>
<asp:BoundColumn DataField="Address" HeaderText="Address"></asp:BoundColumn>
<asp:BoundColumn DataField="City" HeaderText="City"></asp:BoundColumn>
<asp:BoundColumn DataField="Region" HeaderText="Region"></asp:BoundColumn>
<asp:BoundColumn DataField="PostalCode" HeaderText="Postal Code">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
</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 DataGridTemplates
{
/// <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;database=Northwind;integrated security=true;" );
SqlCommand cmd = new SqlCommand( "SELECT * 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);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
项目创建完毕,在浏览器中运行的效果如图1所示:
<iframe src="/ShowImg.asp?p=/2006-4-26/815359hj482_2.gif" height="400" frameborder="0" scrolling="yes" width="590"></iframe>
(图片较大,请拉动滚动条观看)
图1 DataGrid控件中运用BoundColumn数据列显示数据的效果。
分享到:
相关推荐
在ASP.NET中,`DataGrid`控件是一个强大的数据展示工具,它允许开发者以表格的形式展示来自数据库或其他数据源的数据。本实例将深入讲解如何使用`DataGrid`控件连接数据库并展示数据。 1. **DataGrid控件简介** `...
总的来说,ASP.NET的DataGrid控件提供了一套全面的工具来处理和展示数据,通过掌握这些使用技巧,开发者能够更好地满足用户的需求,提升Web应用程序的功能性和用户体验。在实际开发中,不断探索和实践,将使你对...
ASP.NET中的DataGrid控件是Web开发中常用的数据展示组件,尤其在构建数据驱动的Web应用程序时,它的功能强大且灵活。本篇文章将深入探讨DataGrid的一些高级技巧,旨在帮助开发者提升应用程序的用户体验和功能。 1. ...
ASP.NET中的DataGrid控件是Web开发中常用的数据展示组件,尤其在早期版本的ASP.NET中,它在数据绑定和自定义显示方面扮演了重要角色。这个“ASP.NET中DataGrid的高级技巧 Demo code-20050118”的压缩包文件,很可能...
综上所述,掌握ASP.NET中DataGrid的高级技巧对于提升Web应用的功能性和用户体验至关重要。通过深入理解并灵活运用这些技巧,开发者可以创建出强大且易用的数据展示界面。在实际项目中,结合PPT中的示例和代码演示,...
ASP.NET中的DataGrid控件是用于展示表格数据的关键组件,尤其在处理数据库查询结果时非常实用。本指南将深入解析DataGrid的使用方法、属性、事件以及代码片段,旨在帮助初学者快速掌握其核心功能。 一、DataGrid...
ASP.NET DataGrid 控件是 ASP.NET 应用程序中一个非常重要的控件,用于显示和编辑数据。但是,标准的 DataGrid 控件存在一些限制,例如不能固定表头、不能实现多行数据的编辑、不能自动识别编辑改动的内容等。为解决...
ASP.NET的DataGrid控件是Web开发中常用的数据展示组件,尤其在处理表格数据时非常方便。本教程将深入探讨如何使用DataGrid实现添加、删除、修改和查询操作,非常适合初学者入门。 首先,DataGrid控件是ASP.NET中的...
本教程将详细介绍如何在ASP.NET环境中,特别是WinForms应用中,自定义一个适用于DataGrid的分页控件。 首先,理解分页的基本概念。分页是将大量数据分为多个小部分,每次只加载一部分到用户界面,这样可以避免一次...
在ASP.NET中,DataGrid控件是Web应用程序中用于展示和操作数据的一种强大工具。它提供了丰富的特性,如排序、分页、编辑等,能够帮助开发者高效地处理数据集。本文将详细介绍如何在ASP.NET的DataGrid控件中实现添加...
Datagrid 控件作为ASP.NET中最强大且用途广泛的Web控件之一,在实际开发过程中被广泛使用。然而,由于其复杂的功能性和灵活性,开发者在使用过程中很容易遇到一些常见的问题。本文将针对Datagrid 控件在ASP.NET开发...
在ASP.NET开发中,将DataGrid控件中的数据显示在Excel文件中是一项常见的需求,这主要应用于数据导出、报表生成或者数据分析场景。本教程将详细讲解如何实现这一功能。 首先,我们需要了解DataGrid控件。ASP.NET中...
在ASP.NET Web应用程序开发中,DataGrid和DataList是用于展示表格数据的重要控件。这两种控件能够有效地帮助开发者以结构化的方式展示数据集,并提供丰富的交互功能。尽管两者在功能上存在一定的相似性,但在某些...
继承asp.net的DataGrid控件实现的表格树控件 /*表格树控件说明 * 此控件继承DataGrid 新增属性说明: * 1.TreeParentCode:顶级根节点parentcode * 2.TreeDisplayDeep:展现表格树深度默认为1 * 3.SumColumns:...
在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns...
在ASP.NET中,DataList和DataGrid是两种常用的Web服务器控件,用于显示和操作数据集。当数据量较大时,为了提高用户体验和页面加载速度,通常会采用分页功能来展示数据。在这个主题中,我们将深入探讨如何在DataList...
在这个场景中,我们将探讨如何使用VB.NET的DataGrid控件与Microsoft Access数据库进行连接,以便显示、编辑或管理数据库中的数据。 首先,我们需要确保已经安装了必要的组件,包括Visual Studio IDE和ADO.NET数据...
ASP.NET DataGrid 是一个强大的控件,用于在Web应用程序中展示和操作数据。这个微软ASP.NET.MSDN视频教程深入探讨了DataGrid的高级技巧,旨在帮助开发者更好地掌握这一核心功能,提升用户体验和数据管理效率。 ...
### ASP.NET中DataGrid控件的使用技巧 DataGrid控件是ASP.NET中一个非常重要的数据展示工具,它能够提供动态的数据绑定、编辑、排序、筛选等功能,极大地提高了Web应用程序的交互性和数据处理效率。本文将详细介绍...