`

动态的管理ASP.NET DataGrid数据列

阅读更多

动网先锋

在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在HTML视图模式下更改HTML代码的方式增加Columns列。但是这两种方式都是在设计时进行的,一旦设计完成就无法更改。其实我们也可以在程序运行时动态的增加或者删除Columns列。在这篇文章中,我将向大家介绍如何编程实现在运行时动态的增加和删除Columns列,其实是通过隐藏或者现实Columns列来实现的。

  DataGrid 的Columns属性是访问datagrid Columns的关键所在。访问这个属性返回的是DataGridColumnCollection这样的一个集合对象,它包含了所有的DataGrigColumn对象。DataGridColumnCollection提供了增加一个DataGrigColumn对象和删除一个已经存在的DataGrigColumn对象的方法。,我们将使用DataGridColumnCollection的Add方法来增加一个DataGrigColumn对象,从而在运行时动态的增加一列到DataGrid中去。一个DataGrigColumn代表DataGrid的一列,DataGrid的Visible属性用来显示或者隐藏一个列。

  好了,下面让大家跟我一起来创建一个DynamicDataGrid的C#的ASP.NET的工程,他有隐藏和显示DataGrid 的每一列的选项。

  在我用VS.NET创建的web application里面,我在设计页面上拖放了一个Panel 控件。在这个panel控件上,我放置了一个DataGrid控件,一个DropDownList控件,两个Button控件用于改变DataGrid控件的属性。最后的设计界面看起来是下图这样的。

  现在我们开始创建两个方法:FillDataGrid()和FillColumnsList()方法。FillDataGrid()用于增加一个列到DataGrid控件和用DataSet数据源来填充它。在这里的我是通过DB.GetDataSet()方法来获取DataSet的。大家可以参照附加的源代码文件(DB.CS)获取更多的细节。

  下面的代码说明了CreateDataGrid()的实现。从代码中可以看出,我创建了三个列,用BoundColumn的DataField属性绑定到Dataset的ID,Name和Address字段。BoundColumn类继承自DataGridColumn类。

private void CreateDataGrid()
{
// Set DataGrid properties
DataGrid1.AutoGenerateColumns = false;
// Get a DataSet object filled with data
DataSet ds = DB.GetDataSet();
// Create ID column & add to DataGrid
BoundColumn col = new BoundColumn();
col.HeaderText="User ID";
col.DataField="ID";
DataGrid1.Columns.Add(col);
// Create Name column & add to DataGrid
col = new BoundColumn();
col.HeaderText="User Name";
col.DataField="Name";
DataGrid1.Columns.Add(col);
// Create Address column & add to DataGrid
col = new BoundColumn();
col.HeaderText="User Address";
col.DataField="Address";
DataGrid1.Columns.Add(col);
// DataGrid data binding
DataGrid1.DataSource = ds.Tables[0];
DataGrid1.DataBind();
}

  FillColumnsList()方法只是简单的从DataGrid中读取列名,并且将这些列(Columns)名填充到DropDownList控件的下拉列表中去。我们将使用DropDownList控件来选取隐藏或者显示的列。

private void FillColumnsList(DataGrid grid)
{
foreach (DataGridColumn col in grid.Columns)
{
ColumnsList.Items.Add(col.HeaderText);
}
}

  接着我们来添加HideDataGridColumn()方法来具体的通过index索引和bool值两个参数来显示或者隐藏一个列。在这里,我仅仅是简单的设置Columns列的Visible属性为true或者false.

private void HideDataGridColumn(int index, bool show)
{
DataGrid1.Columns[index].Visible = show;
}

  最后的工作就是增加Show Column和Hide Column的单击事件处理。正如我们在代码中看到的一样,我只是简单的调用HideDataGridColumn()方法来显示或者隐藏列,当然要传入参数了。

private void HideColumnBtn_Click(object sender, System.EventArgs e)
{
HideDataGridColumn(ColumnsList.SelectedIndex, false);
this.DataBind();
}
private void ShowColumnBtn_Click(object sender, System.EventArgs e)
{
HideDataGridColumn(ColumnsList.SelectedIndex, true);
this.DataBind();
}

  OK,所有的工作都结束了,我们看看运行的结果如何。你可以通过下拉列表来选择要隐藏或者显示的列,并且只需单击Show或者Hide按钮即可。


分享到:
评论

相关推荐

    动态管理ASP.NET DataGrid数据列

    本文主要讨论如何在程序运行时动态管理DataGrid的数据列,即增加或删除列,而不是仅局限于设计时静态设置。 首先,我们有两种常见的在设计时增加DataGrid列的方式:一是通过Visual Studio的Web Forms设计器,将...

    asp.net DataGrid所有的功能讲解实现.rar

    ASP.NET DataGrid控件是微软.NET Framework中用于展示和操作数据的一种强大工具,它提供了丰富的功能,便于在网页上创建动态、交互式的表格。在这个"asp.net DataGrid所有的功能讲解实现.rar"压缩包中,包含了多个...

    asp.net 将DataGrid数据写入Excel文件.rar

    以上就是使用ASP.NET将DataGrid数据导出到Excel文件的基本流程和关键知识点。在实际应用中,可能还需要考虑更多细节,比如错误处理、数据格式转换、文件大小限制等。理解这些原理和步骤,可以帮助开发者高效地实现...

    深入利用ASP.NET DataGrid控件.pdf

    ASP.NET DataGrid 控件是 ASP.NET 应用程序中一个非常重要的控件,用于显示和编辑数据。但是,标准的 DataGrid 控件存在一些限制,例如不能固定表头、不能实现多行数据的编辑、不能自动识别编辑改动的内容等。为解决...

    asp.net-datagrid控件实例

    在ASP.NET中,`DataGrid`控件是一个强大的数据展示工具,它允许开发者以表格的形式展示来自数据库或其他数据源的数据。本实例将深入讲解如何使用`DataGrid`控件连接数据库并展示数据。 1. **DataGrid控件简介** `...

    datagrid动态添加模板列

    通过以上步骤,你可以在ASP.NET的`DataGrid`中实现动态添加模板列并绑定字段名称的功能。这种方法在处理数据结构不固定或需要根据用户需求定制显示时尤其有用。理解并熟练掌握这一技巧,能让你在构建数据驱动的Web...

    ASP.NET DataGrid使用最佳实践

    ASP.NET DataGrid 是一个强大的控件,用于在Web应用程序中展示和操作数据。它提供了丰富的功能,包括排序、分页、筛选、编辑和删除数据。本篇将深入探讨ASP.NET DataGrid的最佳实践,以帮助开发者更高效、更优化地...

    ASP.NET中DataGrid的高级技巧

    ASP.NET中的DataGrid控件是Web开发中常用的数据展示组件,尤其在构建数据驱动的Web应用程序时,它的功能强大且灵活。本篇文章将深入探讨DataGrid的一些高级技巧,旨在帮助开发者提升应用程序的用户体验和功能。 1. ...

    ASP.NET中DataGrid的使用指南

    ASP.NET中的DataGrid控件是用于展示表格数据的关键组件,尤其在处理数据库查询结果时非常实用。本指南将深入解析DataGrid的使用方法、属性、事件以及代码片段,旨在帮助初学者快速掌握其核心功能。 一、DataGrid...

    asp.net DataGridTree表格树控件

    继承asp.net的DataGrid控件实现的表格树控件 /*表格树控件说明 * 此控件继承DataGrid 新增属性说明: * 1.TreeParentCode:顶级根节点parentcode * 2.TreeDisplayDeep:展现表格树深度默认为1 * 3.SumColumns:...

    一个基于C#+ASP.NET实现可以进行DataGrid全数据记录进行编辑维护的程序例子

    本示例程序"一个基于C#+ASP.NET实现可以进行DataGrid全数据记录进行编辑维护的程序例子"是针对DataGrid控件的一个具体应用,它允许用户在前端对表格中的所有数据进行编辑和维护,极大地提高了数据操作的便利性。...

    EasyUI的DataGrid显示ASP.NET内容

    在结合ASP.NET框架时,DataGrid能有效地将服务器端的数据动态地呈现到客户端,提供排序、分页、过滤和编辑等功能,提升用户体验。在本文中,我们将深入探讨如何在ASP.NET环境中使用EasyUI的DataGrid显示数据。 首先...

    C# ASP.net将DataGrid数据输出到Excel文件

    C#如何将DataGrid数据输出到Excel文件呢?,这是一个ASP.NET WEB测试代码,数据库为access,把Access中的内容导出到Excel文件中,并保持数据格式不变,测试时请在ASP.NET3.5环境以上进行,数据库文件路径请修改Web....

    ASP.net GridView双击事件,弹出一个窗口显示详细信息

    在ASP.NET开发中,GridView控件是一个非常常用的数据展示组件,它可以方便地绑定到各种数据源并以表格的形式展示数据。本主题将深入探讨如何利用ASP.NET GridView的双击事件来实现用户双击某行时,弹出一个窗口显示...

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

    ASP.NET中的DataGrid控件是开发Web应用程序时用于展示数据的关键组件,特别是在处理与数据库相关的数据展示场景。熟练掌握DataGrid控件的应用技巧对于任何Web开发者来说都是至关重要的。 DataGrid控件允许以表格的...

    ASP.NET_DataGrid_增删改查

    ASP.NET的DataGrid控件是Web开发中常用的数据展示组件,尤其在处理表格数据时非常方便。本教程将深入探讨如何使用DataGrid实现添加、删除、修改和查询操作,非常适合初学者入门。 首先,DataGrid控件是ASP.NET中的...

    自定义asp.net中DataGrid的一个分页控件

    在ASP.NET开发中,DataGrid控件是一种常用的用于展示数据集合的控件,它提供了诸如排序、分组、筛选等功能。然而,对于大型数据集,为了提高用户体验,分页功能是必不可少的。本教程将详细介绍如何在ASP.NET环境中,...

    ASP.NET-DataGrid

    ASP.NET DataGrid 是一个强大的控件,用于在Web应用程序中展示和操作数据。它允许开发者以网格形式组织和呈现数据库中的信息,同时提供多种交互功能,如排序、分页、编辑和选择。以下是对DataGrid控件的详细解释及其...

Global site tag (gtag.js) - Google Analytics