asp.net gridview 72般绝技第1/2页

ASP.NET GridView 72般绝技攻略

什么是 ASP.NET GridView?

ASP.NET GridView 是 ASP.NET 网站开发中非常常用的控件之一。它可以方便地在网页上展示数据,并且提供了很多丰富的特性,如排序、分页、过滤、编辑等。

GridView 的基本用法

GridView 的基本用法非常简单,只需要在 ASP.NET 网页上添加一个 GridView 控件,并设置它的 DataSource 属性为一个数据源,就能显示数据了。

以下是基本用法的示例(假设我们有一个名为 DataSource 的数据源):

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" />
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM MyTable" />

在上面的代码中,我们创建了一个 ID 为 MyGridView 的 GridView 控件,并将它的 DataSourceID 属性设置为 DataSource。同时,我们还创建了一个名为 DataSource 的 SqlDataSource 控件,并将它的 ConnectionString 属性设置为数据库连接字符串,将 SelectCommand 属性设置为 SQL 查询语句,使它可以获取数据。

GridView 的特性和绝技

除了基本用法之外,GridView 还有很多非常实用的特性和绝技,如以下 5 条:

1. 自定义列

GridView 的自定义列功能可以让我们自定义展示数据的方式。例如,我们想让表格中的某一列显示为链接,可以使用 HyperLinkField 控件来创建一个链接列,并设置其 DataNavigateUrlFields 和 DataTextField 属性为数据源中的字段名。

以下是自定义列的示例:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource">
    <Columns>
        <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Details.aspx?ID={0}" DataTextField="Title" HeaderText="Title" />
        <asp:BoundField DataField="Author" HeaderText="Author" />
        <asp:BoundField DataField="Date" HeaderText="Date" />
    </Columns>
</asp:GridView>

在上面的代码中,我们使用了 HyperLinkField 控件创建了一个链接列,并将 DataNavigateUrlFields 属性设置为 ID 字段,使它成为链接的参数,将 DataNavigateUrlFormatString 属性设置为链接的格式,将 DataTextField 属性设置为 Title 字段,使它成为链接的文本。

2. 分页

GridView 的分页功能可以让我们方便地浏览和管理大量数据。它提供了自动分页和手动分页两种模式,可以设置每页显示的数据行数,还可以自定义分页样式。

以下是自动分页的示例:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" AllowPaging="true" PageSize="10" />
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM MyTable" />

在上面的代码中,我们将 AllowPaging 属性设置为 true,使 GridView 启用分页功能。将 PageSize 属性设置为 10,表示每页显示 10 行数据。

3. 排序

GridView 的排序功能可以让我们方便地按照某一列的值来排序数据。它提供了自动排序和手动排序两种模式,可以设置默认排序列和排序方向,还可以自定义排序样式。

以下是自动排序的示例:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" AllowSorting="true" />
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM MyTable ORDER BY Title" />

在上面的代码中,我们将 AllowSorting 属性设置为 true,使 GridView 启用排序功能。并且在数据源的 SQL 查询语句中,使用了 ORDER BY 子句将数据按照 Title 列的值进行排序。

4. 过滤

GridView 的过滤功能可以让我们方便地筛选数据,只显示符合条件的数据。它提供了自动过滤和手动过滤两种模式,可以设置默认过滤列和过滤操作符,还可以自定义过滤样式。

以下是自动过滤的示例:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" AllowFiltering="true" />
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM MyTable" FilterExpression="Title LIKE '%{0}%'">
    <FilterParameters>
        <asp:ControlParameter Name="Title" ControlID="txtFilter" PropertyName="Text" />
    </FilterParameters>
</asp:SqlDataSource>
<asp:TextBox runat="server" ID="txtFilter" />

在上面的代码中,我们将 AllowFiltering 属性设置为 true,使 GridView 启用过滤功能。并且在数据源的 FilterExpression 属性中,使用了 Title LIKE '%{0}%' 表达式来进行过滤。其中,{0} 表示过滤参数,由 FilterParameters 中的 ControlParameter 控件提供。在这里,ControlID 属性设置为 txtFilter,表示过滤参数由 ID 为 txtFilter 的文本框的 Text 属性提供。

5. 编辑

GridView 的编辑功能可以让我们方便地修改数据。它提供了自动和手动两种编辑模式,可以设置编辑列和编辑样式,还可以自定义编辑逻辑。

以下是自动编辑的示例:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" AutoGenerateEditButton="true" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="Title" HeaderText="Title" />
        <asp:BoundField DataField="Author" HeaderText="Author" />
        <asp:BoundField DataField="Date" HeaderText="Date" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM MyTable" UpdateCommand="UPDATE MyTable SET Title=@Title, Author=@Author, Date=@Date WHERE ID=@ID">
    <UpdateParameters>
        <asp:Parameter Name="Title" />
        <asp:Parameter Name="Author" />
        <asp:Parameter Name="Date" />
        <asp:Parameter Name="ID" Type="Int32" />
    </UpdateParameters>
</asp:SqlDataSource>

在上面的代码中,我们将 AutoGenerateEditButton 属性设置为 true,使 GridView 自动生成一个编辑按钮。并且设置了 GridView 的列和数据源的 UpdateCommand 属性,以支持编辑操作。

示例说明

示例一:自定义列

假设我们有一个学生信息表格,其中包含学生的 ID、姓名和年龄。我们想让学生姓名在表格中显示为链接,点击后能够跳转到学生详情页面。

我们可以使用 HyperLinkField 控件来创建一个链接列,并将 DataNavigateUrlFields 和 DataTextField 属性分别设置为 ID 和姓名字段。

代码如下:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" />
        <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Details.aspx?ID={0}" DataTextField="Name" HeaderText="Name" />
        <asp:BoundField DataField="Age" HeaderText="Age" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM Students" />

在上面的代码中,我们使用了 HyperLinkField 控件创建了一个链接列,将 DataNavigateUrlFields 属性设置为 ID 字段,使它成为链接的参数,将 DataNavigateUrlFormatString 属性设置为链接的格式,将 DataTextField 属性设置为 Name 字段,使它成为链接的文本。

示例二:手动编辑

假设我们有一个学生成绩表格,其中包含学生的姓名和数学成绩。我们想让用户能够修改学生的成绩。

我们可以将 GridView 的 AutoGenerateEditButton 属性设置为 false,手动创建一个 CommandField,将其 ShowEditButton 属性设置为 true,来创建一个编辑按钮。并且,我们需要手动设置 GridView 的编辑列和数据源的 UpdateCommand 属性,以支持编辑操作。

代码如下:

<asp:GridView runat="server" ID="MyGridView" DataSourceID="DataSource" AutoGenerateEditButton="false" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="Name" HeaderText="Name" />
        <asp:BoundField DataField="Math" HeaderText="Math" />
        <asp:CommandField ShowEditButton="true" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="DataSource" ConnectionString="..." SelectCommand="SELECT * FROM Scores" UpdateCommand="UPDATE Scores SET Math=@Math WHERE Name=@Name">
    <UpdateParameters>
        <asp:Parameter Name="Math" Type="Int32" />
        <asp:Parameter Name="Name" />
    </UpdateParameters>
</asp:SqlDataSource>

在上面的代码中,我们将 AutoGenerateEditButton 属性设置为 false,手动创建了一个 CommandField,并将其 ShowEditButton 属性设置为 true,从而创建了一个编辑按钮。并且,我们设置了 GridView 的列和数据源的 UpdateCommand 属性,以支持编辑操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net gridview 72般绝技第1/2页 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C# 线程相关知识总结

    C#线程相关知识总结 在C#语言中,线程是一种轻量级的执行单元,它可以独立执行代码,并与其他线程并发执行。线程可以简化编程过程,提高程序的效率。在本篇文章中,我们将总结C#线程的相关知识。 线程的基本概念 程序和进程的概念 在介绍线程之前,我们需要先了解程序和进程的概念。程序是指可执行文件,是CPU可以直接执行的二进制代码;而进程是指正在运行的程序的一个实例…

    C# 2023年5月15日
    00
  • c#连接access数据库操作类分享

    下面是详细讲解“c#连接access数据库操作类分享”的完整攻略: 1. 准备工作 在使用c#连接access数据库之前,需要安装Microsoft Access数据库引擎,下载地址如下: https://www.microsoft.com/zh-cn/download/details.aspx?id=13255 根据自己的电脑版本下载对应的安装包即可,安装…

    C# 2023年6月1日
    00
  • asp.net Repeater 数据绑定的具体实现(图文详解)

    当我们需要在ASP.NET网站中显示重复数据时,asp.net Repeater控件是一个很好的选择。Repeater可以通过绑定数据源来在网站上显示重复的数据。以下是asp.net Repeater数据绑定的具体实现攻略。 第一步:创建一个asp.net网站 首先,打开Visual Studio并创建一个新的ASP.NET网站。可以选择任何类型的ASP.N…

    C# 2023年6月3日
    00
  • Asp.net treeview实现无限级树实现代码

    下面是关于”Asp.net TreeView实现无限级树实现代码”的完整攻略。 介绍 TreeView是Asp.net Web Forms中常用的一种控件,可以用于构建树形结构的网页菜单或目录。本文将介绍如何使用TreeView控件实现无限级树形菜单,并提供两个示例说明。 步骤 1. 准备数据源 为了构建无限级树形菜单,我们需要一个能够支持无限级别嵌套的数据…

    C# 2023年5月31日
    00
  • 详细分析c# 运算符重载

    详细分析C#运算符重载 C#运算符重载是一种在类定义中定义特定运算符的方式。通过对运算符进行重载,我们可以为自定义类型定义自定义算术和逻辑行为。本文将介绍如何实现C#运算符重载,并提供两个实际的示例。 1、什么是C#运算符重载 在C#中,一些运算符如 +、-、*、/、< 等都是具有预定义行为的。当我们对 int、float、double、string等…

    C# 2023年6月7日
    00
  • C#新手常犯的错误汇总

    C#新手常犯的错误汇总 前言 C#作为一门流行的编程语言,吸引了很多新手程序员的青睐。但是,在学习和练习过程中,新手程序员常常会犯一些错误。本文将总结并详细讲解C#新手程序员常犯的错误,并提供完整的解决方案。 1. 变量的生命周期不清楚 在C#中,变量的生命周期是很重要的一个概念。如果不清楚变量的生命周期,可能会导致程序出现奇怪的问题。 错误示例 publi…

    C# 2023年5月15日
    00
  • 使用.NET Core创建exe应用程序

    使用 .NET Core 创建 exe 应用程序攻略 在 .NET Core 中,可以使用以下步骤创建 exe 应用程序: 创建 .NET Core 控制台应用程序。 在 .NET Core 控制台应用程序中添加 Main 方法。 在 .NET Core 控制台应用程序中添加代码逻辑。 在 .NET Core 控制台应用程序中添加依赖项。 在 .NET Co…

    C# 2023年5月17日
    00
  • C#对文件/文件夹操作代码汇总

    关于”C#对文件/文件夹操作代码汇总”的攻略,主要包含以下内容: 1.文件夹操作 创建文件夹 使用System.IO.Directory 类的CreateDirectory()方法可以创建一个新的文件夹。代码实例: string path = @"C:\MyDirectory"; if (!Directory.Exists(path)) …

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部