ASP.net web应用 GridView控件常用方法

这篇具有很好参考价值的文章主要介绍了ASP.net web应用 GridView控件常用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GridView 控件是 ASP.NET Web Forms 中常用的数据展示控件之一。它提供了一个网格形式的表格,用于显示和编辑数据。GridView 控件对于包含大量数据、需要进行分页、排序和筛选的情况非常有用。

GridView 控件的主要特性包括:

  1. 数据绑定:GridView 可以与各种数据源进行绑定,如数据表、数据集、数据视图、对象集合等。可以通过设置 DataSource 属性或在代码中进行绑定。

  2. 自动生成列:GridView 控件可以自动生成列,根据绑定的数据源自动创建相应的列,每列对应数据源中的一个字段。

  3. 模板列:除了自动生成列,GridView 还支持模板列。通过模板列,可以自定义每列的样式、内容和行为,例如添加按钮、复选框、图标等。

  4. 分页功能:GridView 提供分页功能,允许用户浏览大量数据并按页查看。可以设置 PageSize 属性来控制每页显示的记录数,并通过分页导航在不同页之间切换。

  5. 排序和筛选:GridView 支持按列进行排序和筛选。用户可以单击列标题进行排序,或者使用内置的筛选控件进行数据筛选。

  6. 编辑和更新:GridView 允许用户编辑数据并将更改保存回数据源。它提供了内置的编辑行和命令按钮,用户可以点击编辑按钮进入编辑模式,并使用更新按钮将修改保存回数据源。

  7. 样式和外观:GridView 具有丰富的样式和外观定制选项。可以使用 CSS 样式或设置属性来定义网格和单元格的样式,以及鼠标悬停样式、选定样式等。

GridView 控件是一个强大而灵活的数据显示和编辑工具,可以轻松为 Web 应用程序提供交互和管理数据的功能。

常用的使用方法

     1.数据绑定

<asp:GridView runat="server" ID="gv" >

</asp:GridView>

后端代码:

设置绑定数据源

gv.DataSource=list;

确认绑定数据

gv.DataBind();

list为泛型集合的实体

以上代码放在页面的加载事件就可以显示出一张表的所有数据

2.自定义显示列

上一步我们给GridView绑定了数据,但是他会把所有的数据全部显示出来,如果我们表中有部分信息不想显示出来怎么办?

这个关键属性为 AutoGenerateColumns

可设置值为bool类型   AutoGenerateColumns="false" 时会关闭自动加载全部列

接下来的每列数据显示就需要我们在前台手动添加

<asp:GridView runat="server" ID="gv" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="编号" />
    </Columns>
</asp:GridView>

<asp:BoundField DataField="ID" HeaderText="编号" />

这句代码是简单的数据绑定列  DataField为绑定的列  HeaderText是表头列名

DataFormatString="{0:D}"

这条属性为格式化字符串 {0:D} 为格式化日期类型yyyy年mm月dd日

更多的格式化方法可以自行网上搜索

3.自定义列 

<asp:TemplateField> 是 ASP.NET Web Forms 中的一个控件,用于在 GridView、DetailsView 和 ListView 等数据绑定控件中定义自定义模板。

<asp:TemplateField> 具有以下用法和优点:

  1. 自定义布局:使用 <asp:TemplateField>,您可以自定义数据绑定控件中每个单元格的布局和样式。您可以在 <ItemTemplate> 中定义自己的 HTML 结构,包括使用 HTML 标签、CSS 样式和其他 ASP.NET 控件。

  2. 数据绑定:<asp:TemplateField> 允许您在 <ItemTemplate> 中绑定数据字段到控件或 HTML 元素。您可以使用数据绑定表达式、绑定控件(如 <asp:Label><asp:TextBox><asp:DropDownList> 等)或自定义 HTML 标记。

  3. 事件处理:您可以在 <ItemTemplate> 中为控件或 HTML 元素添加事件处理程序。这使您能够对用户的交互作出响应,例如处理按钮点击、文本框更改等。

  4. 多列布局:通过在 <ItemTemplate> 中嵌套多个控件或 HTML 元素,您可以实现复杂的多列布局。这对于显示复杂的数据结构或自定义样式非常有用。

  5. 灵活性:<asp:TemplateField> 提供了灵活性,允许您根据需要自定义数据绑定控件的外观和行为。您可以根据不同的条件或数据值显示不同的控件或 HTML 元素,或者根据用户的权限隐藏或禁用特定的控件。

 

<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="Name">
            <ItemTemplate>
                <%# Eval("Name") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Email">
            <ItemTemplate>
                <a href="mailto:<%# Eval("Email") %>"><%# Eval("Email") %></a>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Button runat="server" ID="EditButton" Text="Edit" CommandName="Edit" CommandArgument='<%# Eval("ID") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

上述示例中,我们使用 <asp:TemplateField> 定义了一个名为 "Name" 的列,其中使用 <%# Eval("Name") %> 数据绑定表达式显示了数据源中的 "Name" 字段的值。类似地,我们还定义了一个名为 "Email" 的列,其中使用 <a> 标记创建一个邮箱链接,并使用 <%# Eval("Email") %> 数据绑定表达式显示了 "Email" 字段的值。最后,我们在第三列中定义了一个编辑按钮,使用 <asp:Button> 控件,并使用 <%# Eval("ID") %> 数据绑定表达式将 "ID" 字段的值作为命令参数传递。

4.数据绑定事件OnRowDataBound="gv_RowDataBound"

OnRowDataBound 是一个事件属性,用于在 GridView 控件的每一行绑定到数据源后引发事件。通过在 GridView 控件上设置 OnRowDataBound 属性,您可以指定一个事件处理程序方法,在每一行数据绑定时执行自定义逻辑。

OnRowDataBound 的详细用法如下:

  1. 在 ASPX 页面中,找到您的 GridView 控件,并将 OnRowDataBound 属性设置为一个事件处理程序方法的名称,例如 OnRowDataBound="gv_RowDataBound"

  2. 在代码后台(例如在 ASPX.cs 或 ASPX.vb 文件中),编写一个与事件处理程序方法名称相匹配的方法。例如,如果您设置了 OnRowDataBound="gv_RowDataBound",则编写一个名为 gv_RowDataBound 的方法。

  3. 在事件处理程序方法中,您可以访问 GridView 的每一行和单元格,并执行自定义逻辑。您可以使用 e.Row 属性来访问当前的行对象,并使用 e.Row.Cells 属性来访问当前行的单元格对象。

以下是一个示例,展示了 OnRowDataBound 的用法:

ASPX 页面:

<asp:GridView runat="server" ID="GridView1" OnRowDataBound="gv_RowDataBound">
    <!-- GridView 的列定义 -->
</asp:GridView>

代码后台(ASPX.cs 或 ASPX.vb 文件):

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        // 在这里执行您的逻辑,例如根据特定条件修改单元格的样式或值
        // 您可以使用 e.Row.Cells 来访问当前行的单元格对象
    }
}

在上述示例中,我们在 GridView 控件中设置了 OnRowDataBound 属性为 gv_RowDataBound,并在代码后台编写了一个名为 gv_RowDataBound 的方法。在该方法中,我们通过检查 e.Row.RowType 属性,确定当前行是否为数据行,然后可以访问该行的单元格对象并执行自定义逻辑。

OnRowDataBound 的优点和用途包括:

  1. 动态修改行的样式:通过在 OnRowDataBound 事件处理程序中访问行和单元格对象,您可以根据特定条件动态修改行的样式。例如,根据数据值的不同,您可以更改行的背景颜色、字体颜色等。

  2. 操作行的数据:在 OnRowDataBound 事件处理程序中,您可以访问行的数据,并根据需要执行操作。例如,您可以根据数据值的不同,在行中显示不同的控件或文本。

  3. 处理行级操作:通过在 OnRowDataBound 事件处理程序中添加按钮或链接,并为其添加事件处理程序,您可以为每一行提供行级操作。例如,您可以为每一行添加一个“编辑”按钮,并在点击按钮时执行相应的操作。

  4. 动态绑定数据:在 OnRowDataBound 事件处理程序中,您可以根据需要动态绑定数据到行的控件或文本。例如,您可以根据数据值的不同,将不同的文本绑定到行中的标签或文本框。

通过使用 OnRowDataBound,您可以在每一行数据绑定时执行自定义逻辑,从而实现更灵活和个性化的 GridView 控件。

5.行命令事件OnRowCommand

当您在 GridView 控件的行中的命令按钮(如按钮或链接按钮)被点击时,可以使用 OnRowCommand 事件属性来引发事件。通过在 GridView 控件上设置 OnRowCommand 属性,您可以指定一个事件处理程序方法,在命令按钮被点击时执行自定义逻辑。

OnRowCommand 的详细用法如下:

  1. 在 ASPX 页面中,找到您的 GridView 控件,并将 OnRowCommand 属性设置为一个事件处理程序方法的名称,例如 OnRowCommand="gv_RowCommand"

  2. 在代码后台(例如在 ASPX.cs 或 ASPX.vb 文件中),编写一个与事件处理程序方法名称相匹配的方法。例如,如果您设置了 OnRowCommand="gv_RowCommand",则编写一个名为 gv_RowCommand 的方法。

  3. 在事件处理程序方法中,您可以根据需要访问 GridView 的行、命令和数据,并执行自定义逻辑。您可以使用 e.CommandName 属性来获取命令的名称,使用 e.CommandArgument 属性来获取命令的参数,使用 e.Row 属性来访问当前的行对象。

以下是一个示例,展示了 OnRowCommand 的用法:

ASPX 页面:

<asp:GridView runat="server" ID="GridView1" OnRowCommand="gv_RowCommand">
    <!-- GridView 的列定义 -->
    <Columns>
        <asp:ButtonField ButtonType="Button" CommandName="Edit" Text="Edit" CommandArgument='<%# Eval("ID") %>' />
        <asp:ButtonField ButtonType="Button" CommandName="Delete" Text="Delete" CommandArgument='<%# Eval("ID") %>' />
    </Columns>
</asp:GridView>

代码后台(ASPX.cs 或 ASPX.vb 文件):

protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Edit")
    {
        // 执行编辑操作
        // 您可以使用 e.CommandArgument 获取命令的参数
        // 您可以使用 e.Row 获取当前的行对象
        string id = e.CommandArgument.ToString();
        // 根据 id 执行编辑逻辑
    }
    else if (e.CommandName == "Delete")
    {
        // 执行删除操作
        // 您可以使用 e.CommandArgument 获取命令的参数
        // 您可以使用 e.Row 获取当前的行对象
        string id = e.CommandArgument.ToString();
        // 根据 id 执行删除逻辑
    }
}

在上述示例中,我们在 GridView 控件中设置了 OnRowCommand 属性为 gv_RowCommand,并在代码后台编写了一个名为 gv_RowCommand 的方法。在该方法中,我们根据 e.CommandName 的值判断点击的是哪个命令按钮,并根据需要执行相应的操作。我们可以使用 e.CommandArgument 属性获取命令的参数,使用 e.Row 属性获取当前的行对象。

CommandArgument 是一个命令按钮的参数,可以通过 CommandArgument='<%# Eval("ID") %>' 的方式将行中的数据字段绑定到命令按钮的参数上。在事件处理程序方法中,您可以使用 e.CommandArgument 获取命令按钮的参数,从而根据需要执行相关操作。

OnRowCommand 的优点和用途包括:

  1. 处理行级操作:通过在 OnRowCommand 事件处理程序中判断命令的名称,并根据需要执行相应的操作,您可以为每一行提供行级操作。例如,您可以为每一行添加一个“编辑”按钮和一个“删除”按钮,并在点击按钮时执行相应的编辑或删除操作。

  2. 访问行和数据:在 OnRowCommand 事件处理程序中,您可以访问行的数据,并根据需要执行操作。例如,您可以根据数据值的不同,在行中显示不同的控件或文本。

  3. 动态绑定数据:通过使用 CommandArgument,您可以将行中的数据字段绑定到命令按钮的参数上,从而实现动态绑定数据的功能。例如,您可以根据数据值的不同,将不同的参数传递给事件处理程序方法。文章来源地址https://www.toymoban.com/news/detail-705496.html

到了这里,关于ASP.net web应用 GridView控件常用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    开启IIS 如果已开启跳过这步 打开控制面板-程序  打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限  如果不添加访问权限,运行时将会得到如下错误 设置权限   勾选上面添加的账户的修改权限 

    2024年01月21日
    浏览(86)
  • 你知道如何修改ASP.NET Core默认端口吗?常用5种方法实例演示

    下面针对 ASP.NET Core 中修改默认端口的五种常用方法的详细示例,分别对应  appsettings.json  配置 Kestrel 的 Endpoint、使用  UseUrls  方法、命令行参数方法、 host.json  配置方法和使用 Docker 的方式。 在  appsettings.json  中添加端口配置: 在  Startup.cs  中读取配置: 在  Program.c

    2024年02月05日
    浏览(105)
  • 界面控件DevExpress ASP.NET中文 - 如何自定义编辑表单运行时布局?

    在DevExpress ASP.NET控件v19.2版本中就针对ASP. NET WebForms和MVC平台的ASP. NET GridView和CardView控件添加了一个主要增强功能。 DevExpress ASP.NET v23.1正式版下载 (Q技术交流:523159565) 当您使用预定义的或 自定义的编辑表单时,经常需要动态地更改布局。例如,您可能需要根据用户操作、

    2024年02月11日
    浏览(54)
  • 【Visual Studio 2022创建ASP.NET Web应用程序(.NET Framework)发布并部署到局域网 及“常见权限问题和不列出目录问题解决”】

    然后给项目命名并选择文件保存位置 用一个空项目进行举例 创建完成如下 点击更多模板选择Web窗体 创建成功如下 .aspx页面编写前端代码,.aspx.cs页面编写后端代码 通过插入表格和拉取控件快速完成 然后给Button按钮设置一个点击事件,双击按钮后会跳到.aspx.cs页面,完善下面

    2024年02月07日
    浏览(78)
  • 界面控件DevExpress ASP.NET Scheduler - 助力快速交付个人信息管理系统(上)

    DevExpress ASP. NET Scheduler组件能完全复制Microsoft Outlook Scheduler的样式和功能,具有日、周、月和时间轴视图,并包括内置的打印支持,因此用户可以在尽可能短的时间内交付全功能的个人信息管理系统。 P.S :DevExpress ASP.NET Web Forms Controls拥有针对Web表单(包括报表)的110+种UI控

    2024年03月11日
    浏览(44)
  • 界面控件DevExpress ASP.NET Data Grid组件 - 可快速处理各类型数据!(一)

    由DevExpress开发的快速且功能完整的ASP.NET Web Forms的Data Grid组件,从全面的数据塑造和数据过滤选项到十多个集成数据编辑器,该套件提供了帮助用户构建极佳数据所需的一些,没有限制! P.S :DevExpress ASP.NET Web Forms Controls拥有针对Web表单(包括报表)的110+种UI控件,可利用轻

    2024年01月23日
    浏览(40)
  • asp.net web api 用户身份验证

            前后端分离的开发中,应用服务需要进行用户身份的验证才允许访问数据。实现的方法很简单。创建一个webapi项目。在App_Start目录下找到WebApiConfig.cs, 在里面增加一个实现类。 Controller 类的实现:

    2024年02月20日
    浏览(38)
  • ASP.NET Core MVC -- 将视图添加到 ASP.NET Core MVC 应用

    右键单击“视图”文件夹,然后单击“添加”“新文件夹”,并将文件夹命名为“HelloWorld”。 右键单击“Views/HelloWorld”文件夹,然后单击“添加”“新项”。 在“添加新项 - MvcMovie”对话框中: 在右上角的搜索框中,输入“视图” 选择“Razor 视图 - 空” 保持“名称”框的

    2024年02月13日
    浏览(86)
  • ASP.NET Core 8 的 Web App

    Web App 与 Web API 的不同之处在于包含 UI 部分,所谓的 UI 就是 HTML 页面。 Web App 支持几种渲染HTML 的方式: 服务端渲染 客户端渲染 混合渲染 服务端渲染UI是在浏览器请求的时候,服务端生成 HTML,然后返回给浏览器。 优点是: 减轻客户端的压力 服务端生成 HTML,适配各种浏览

    2024年02月09日
    浏览(39)
  • ASP.NET Core 中的两种 Web API

    ASP.NET Core 有两种创建 RESTful Web API 的方式: 基于 Controller,使用完整的基于ControllerBase的基类定义接口endpoints。 基于 Minimal APIs,使用Lambda表达式定义接口 endpoints。 基于 Controller 的 Web API 可以使用构造函数注入,或者属性注入,遵循面向对象模式。 基于 Minimal APIs 的 Web API 通

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包