`

DataGrid入门经典(C#)

阅读更多
作者:未知   请作者速与本人联系


这篇文章主要介绍如何在DataGrid控件中实现编辑、删除、分类以及分页操作。为了实现我们的意图,我们使用SqlServer2000自带的NorthWind数据库。程序分为两部分:
1.包含HTML代码的.ASPX文件
2.包含所有逻辑及方法的后台C#类文件
代码:
ASPX文件:
在这里我们设计了一个DataGrid对象,我为一些属性和方法作了注解。它就变得如此的简单: 
代码拷贝框

[Ctrl+A 全部选择 然后拷贝] 
你看,是不是不难?关键在于我们常动手动脑。多看资料也很关键哦!
C#后台程序:
让我们先看一段程序:
   private void Page_Load(object sender, System.EventArgs e)  
   {  
       if(!IsPostBack)  
       {  
            BindGrid();  
       }  
   }  
上面展现的是一种非常好的技术,当页面不是PostBack状态时,就绑定数据。这意味着,一旦页面被请求数据将被绑定。
继续看程序:
代码拷贝框

[Ctrl+A 全部选择 然后拷贝]

这段代码执行给定的SQL语句访问数据库,私有函数GetProductData返回一个包含数据记录的DataSet。下一步,让我们看如何编辑记录:
代码拷贝框

[Ctrl+A 全部选择 然后拷贝]通过上面代码所附带的注解大家也能明白MyDataGrid_Edit函数的功能:当用户点击Edit按钮时激活MyDataGrid_Edit函数,并且程序找到所要编辑的记录的索引,把该索引号分配给DataGrid的EditItemIndex属性。
如果用户点击Cancel按钮,将调用我们在上面的.aspx文件中提到的MyDataGrid_Cancel函数,程序如果分配给DataGrid属性 EditItemIndex的值为-1,就意味着用户没有选择Edit,程序如下:
代码拷贝框

[Ctrl+A 全部选择 然后拷贝]

下面的代码像我们展现了如何从DataGrid中删除一条选中的记录。我们知道Web控件DataGrid有一DataKeyField属性,事实上它就包含了每条记录的ProductID字段值。您一定会问如何通过DataKeyField属性得到DataGrid中选中记录的ProductID值呢?下面这段代码会让您释然的:
代码拷贝框

[Ctrl+A 全部选择 然后拷贝]

下面的代码用来更新NorthWind数据库的产品信息,
我们可以使用下面这项技术检索值:
-------------------
bool Discon=((CheckBox)E.Item.FindControl("Discontinued")).Checked;  
-------------------
这时我们使用FinControl()方法就能得到Discontinued CheckBox的值.  
 代码拷贝框

[Ctrl+A 全部选择 然后拷贝]
接下来的BindGrid()调用私有函数GetProductData取得DataSet对象并绑定到DataGrid控件。
/// <summary>  
/// 接受数据库数据并再次绑定
/// </summary>  
  protected void BindGrid()  
  {  
   MyDataGrid.DataSource=GetProductData().Tables["Products"].DefaultView;  
   MyDataGrid.DataBind();  
  }
用户在DataGrid中向前或向后移动时激活MyDataGrid_PageIndexChanged事件,因为DataGrid 不能自动的获取新页的索引号,所以我们只能手动取得索引号。  
        /// <summary>
        /// 分页操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void MyDataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            MyDataGrid.CurrentPageIndex=e.NewPageIndex;
            BindGrid();
        }
     用户在任何时候想对数据分类时,就激活下面的Sort_Grid事件。例如,如果用户点击field headers,事件就将被激活,并且把数据分成我们想要的分类。 我们需要DataView对象去为e.SortExpression.ToString()方法分类,返回的是被点击域标题的分类。  
/// <summary>
/// 分类
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Sort_Grid(Object sender, DataGridSortCommandEventArgs e)  
{
     
    DataView dv= new DataView(GetProductData().Tables["Products"]);
    dv.Sort= e.SortExpression.ToString();
    MyDataGrid.DataSource=dv;
    MyDataGrid.DataBind();             
}

分享到:
评论

相关推荐

    ASP.NET 数据库入门经典C#篇pdg

    本书要求读者对 ASP.NET 和 C# 有一些基本的认识,如果对操纵数据库没有任何经验也没有关系,作者将指导每个过程,包括将 ASP.NET 页面与数据库连接,研究各种读取、处理和更新数据的方法。接下来研究所有涉及侧重于...

    C#Web应用程序入门经典_PART3

    《C# Web应用程序入门经典_PART3》可能涵盖多种数据绑定技术,如DataGrid、Repeater、ListView等控件的使用,以及如何实现动态数据展示和交互。 除了这些基础概念,这部分教程可能还会涉及状态管理,因为Web的无...

    0_ASP_NET 2_0入门经典:C#编程篇.rar

    《ASP.NET 2.0 入门经典:C#编程篇》是一本深入浅出的教程,旨在引导初学者快速掌握ASP.NET 2.0框架下的C#编程技术。本书全面覆盖了ASP.NET的基础概念、核心组件以及实际开发中的关键技巧,是学习Web应用程序开发的...

    C#数据库编程从入门到精通 pdg + 源码

    《C#数据库编程从入门到精通》是一本深入浅出的教程,旨在帮助读者全面掌握使用C#进行数据库编程的各项技能。这本书结合了理论与实践,涵盖了从基础概念到高级技术,包括数据库连接、SQL查询、事务处理、存储过程、...

    asp.net(C#)从基础到入门

    本教程“asp.net(C#)从基础到入门”旨在帮助初学者掌握ASP.NET的基础知识和核心概念,特别是对C#编程语言有一定了解的朋友们。 1. **C#语言基础**:在ASP.NET中,C#是主要的编程语言,它的语法简洁且面向对象。基础...

    ASP.NET3.5从入门到精通基于C#2008.pdf

    本教程“ASP.NET3.5从入门到精通基于C#2008”旨在帮助初学者和开发者深入理解和掌握这个强大的Web开发平台。 1. **ASP.NET概述**:ASP.NET是微软为开发动态网站、Web应用程序和Web服务提供的一个全面的开发框架。它...

    C# XML demo,C# XML入门,XmlHelper

    After working with a couple ... to DataSource assignment from XML documents to ListBoxes and DataGrids, and finally to DataSource update from changes made on a DataGrid to update the source XML document.

    Visual.C#2010从入门到精通

    学习以c#的必备书 本书介绍了如何使用Visual C++ 6.0编写Windows应用程序。全书内容全面、结构清晰、由浅入深、注重实用,并结合了大量的实例,以方便读者理解。本书既包含菜单、鼠标、键盘等基本操作,又包含图形...

    C#数据库编程从入门到精通代码

    在"C#数据库编程从入门到精通代码"这个主题中,我们可以深入探讨如何使用C#语言进行数据库交互,这是开发各种应用程序时不可或缺的一部分。C#,作为.NET框架的主要编程语言,提供了丰富的API和库来处理数据库操作,...

    ruby 和C#教程

    - **C# 书籍推荐**:推荐了一些经典的C#书籍,适合进一步深入学习。 - [C# 书籍推荐](http://download.chinaitlab.com/soft/3070.htm) - **C# 设计模式**:讲解了常用的C#设计模式,帮助开发者更好地理解和应用...

    c#初级知识课件(winform,.net)

    【C#初级知识课件(Winform, .NET)】主要涵盖了C#语言的基础语法以及在Windows应用程序开发中使用ADO.NET进行数据操作的相关内容。ADO.NET是.NET框架的一部分,主要用于数据库交互,它提供了高效的数据访问机制,...

    easyui-完整实列 C# VS2010

    总之,"easyui-完整实列 C# VS2010"是一个很好的学习资源,它涵盖了前端开发、后端处理和数据库操作等多个方面,适合初学者入门或有经验的开发者巩固技能。通过学习和实践这个实例,开发者不仅能掌握EasyUI的用法,...

    Pro WPF in C# 2008

    《Pro WPF in C# 2008》是一本专为C#开发者设计的Windows Presentation Foundation(WPF)入门指南。WPF是.NET Framework的一部分,由微软开发,旨在提供一个统一的编程模型来构建丰富的桌面应用程序。这本书深入浅...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    捕捉DataGrid的双击事件(C#版本).txt 不显示窗口后台运行程序.txt 储存过程.txt 处理“进程性能计数器被禁用”的错误.txt 串口操作.txt 打开word文件.txt 打造“浏览器”.txt 带图标和自定义颜色的ListBox....

    GridView的经典入门

    ### GridView的经典入门 #### 一、概述 本文旨在详细介绍如何在ASP.NET的DataGrid控件中实现编辑、删除、分类及分页等基本操作。DataGrid是ASP.NET中一个非常强大的数据绑定控件,用于展示来自数据库的数据。通过...

    两个简单的数据操作实例C#+Access

    两个简单的数据操作实例C#+Access,一个是与查询操作有关,另一个是与DataGrid有关,这些都是入门级选手喜欢查阅的程序,一步一步来,你也会成为C#编程高手。注:本程序的数据库路径有问题,请修改为相对路径就能...

    C#简易资源管理器

    这个项目虽简,但它包含了资源管理器的核心功能,是C#编程入门者理想的实践案例。 在C#中开发资源管理器,首先需要掌握的是文件系统操作。C#的`System.IO`命名空间提供了丰富的类和方法,如`Directory`和`File`,...

    ASP.NET2.0基础教程(C#)适合没有多少基础的学员

    这个基础教程针对的是对ASP.NET 2.0和C#不熟悉的初学者,旨在帮助他们快速入门并掌握基本的Web开发技能。 教程内容可能涵盖以下几个核心知识点: 1. **环境搭建**:首先,学习者需要了解如何安装和配置Visual ...

    圣殿祭司的ASP.NET2.0开发详解—使用C#

    总之,《圣殿祭司的ASP.NET 2.0开发详解——使用C#》是一本全面而实用的教程,不仅适合初学者入门,也对有一定经验的开发者有所启发。通过学习本书,读者可以深入了解ASP.NET 2.0与C#的结合,提升Web开发的专业技能...

Global site tag (gtag.js) - Google Analytics