`

纯代码实现GridView绑定增删改

阅读更多

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView_Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="myGrid" runat="server" >
</asp:GridView>
</div>
</form>
</body>
</html>

====================================

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

//myself

usingSystem.Drawing;

publicpartialclass_Default: System.Web.UI.Page

{

privateEmployees.Employees_BLL bll =newEmployees.Employees_BLL();

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!IsPostBack)

{

//设置GridView外观样式

setGridViewStyle();

//创建及设置Fields字段

setFields();

//设置GridView数据源绑定

GridBind();

}

//以后台的方式添加GridView的各类事件

myGrid.RowEditing +=newGridViewEditEventHandler(myGrid_RowEditing);

myGrid.RowUpdating +=newGridViewUpdateEventHandler(myGrid_RowUpdating);

myGrid.RowCancelingEdit +=newGridViewCancelEditEventHandler(myGrid_RowCancelingEdit);

myGrid.RowDeleting +=newGridViewDeleteEventHandler(myGrid_RowDeleting);

}

#region方法

//设置GridView外观样式

privatevoidsetGridViewStyle()

{

myGrid.AutoGenerateColumns =false;

//设置Row的键值组成,具有唯一性

string[] KeyNames =newstring[] {"EmployeeID"};

myGrid.DataKeyNames = KeyNames;

//设置GridView属性

myGrid.AllowPaging =true;//设置分页

myGrid.AllowSorting =true;//设置排序

myGrid.Font.Size = 10;//设置字号大小

myGrid.GridLines =GridLines.Both;//设置网格线

myGrid.PageSize = 15;//分页大小

myGrid.PagerSettings.Position =PagerPosition.TopAndBottom;//分页位置

myGrid.PagerStyle.HorizontalAlign =HorizontalAlign.Center;//分页对齐

myGrid.HeaderStyle.BackColor =Color.Tan;

myGrid.RowStyle.BackColor =Color.LightGoldenrodYellow;

myGrid.AlternatingRowStyle.BackColor =Color.PaleGoldenrod;

myGrid.HeaderStyle.ForeColor =Color.Black;

myGrid.PagerStyle.BackColor =Color.Goldenrod;

myGrid.SelectedRowStyle.BackColor =Color.LightBlue;//设置选择行背景颜色

//myGrid.ShowFooter = true;

}

//创建及设置Fields字段

privatevoidsetFields()

{

//创建"编辑"命令字段

CommandFieldeditField =newCommandField();

editField.ButtonType =ButtonType.Button;

editField.ShowEditButton =true;//显示"编辑"按钮

editField.ShowCancelButton =true;//显示"取消"按钮

editField.EditText ="编辑";

editField.UpdateText ="更新";

editField.CancelText ="取消";

editField.ControlStyle.BackColor =Color.LightPink;

editField.ItemStyle.Wrap =false;

//创建"删除"命令字段

CommandFielddeleteField =newCommandField();

deleteField.ButtonType =ButtonType.Button;

deleteField.ShowDeleteButton =true;//显示"删除"按钮

deleteField.DeleteText ="删除";

deleteField.ControlStyle.BackColor =Color.LightPink;

deleteField.ItemStyle.Wrap =false;

//创建数据绑定字段

BoundFieldemployeeidField =newBoundField();

BoundFieldlastnameField =newBoundField();

BoundFieldfirstnameField =newBoundField();

BoundFieldtitleField =newBoundField();

BoundFieldaddressField =newBoundField();

BoundFieldcityField =newBoundField();

employeeidField.DataField ="EmployeeID";//指定数据源字段

employeeidField.HeaderText ="员工代号";//设置字段头名称

employeeidField.ItemStyle.Wrap =false;//设置字段不换行

employeeidField.ReadOnly =true;//只读,编辑模式不能修改

lastnameField.DataField ="LastName";

lastnameField.HeaderText ="名字";

lastnameField.ItemStyle.Wrap =false;

lastnameField.ReadOnly =true;//只读,编辑模式不能修改

firstnameField.DataField ="FirstName";

firstnameField.HeaderText ="姓氏";

firstnameField.ItemStyle.Wrap =false;

//firstnameField.ReadOnly = true;

titleField.DataField ="Title";

titleField.HeaderText ="职称";

titleField.ItemStyle.Wrap =false;

addressField.DataField ="Address";

addressField.HeaderText ="地址";

addressField.ItemStyle.Wrap =false;

cityField.DataField ="City";

cityField.HeaderText ="城市";

cityField.ItemStyle.Wrap =false;

//将字段添加到GridView

myGrid.Columns.Add(editField);//编辑

myGrid.Columns.Add(deleteField);//删除

myGrid.Columns.Add(employeeidField);

myGrid.Columns.Add(lastnameField);

myGrid.Columns.Add(firstnameField);

myGrid.Columns.Add(titleField);

myGrid.Columns.Add(addressField);

myGrid.Columns.Add(cityField);

}

//设置GridView数据源绑定

publicvoidGridBind()

{

//bll = new Employees.Employees_BLL();

myGrid.DataSource = bll.GetAllList();

myGrid.DataBind();

}

#endregion方法

// GridView编辑操作

protectedvoidmyGrid_RowEditing(objectsender,GridViewEditEventArgse)

{

//设置编辑行的索引

myGrid.EditIndex = e.NewEditIndex;

//设置更新与取消按钮之背景颜色

myGrid.Columns[0].ControlStyle.BackColor =Color.LightSteelBlue;

myGrid.Columns[1].ControlStyle.BackColor =Color.LightSteelBlue;

myGrid.ShowFooter =true;

//设置GridView在编辑模式时,TextBox字段宽度及背景颜色

//EmployeeID字段

myGrid.Columns[2].ControlStyle.Width = 80;

myGrid.Columns[2].ControlStyle.BackColor =Color.LightBlue;

myGrid.Columns[2].FooterText ="不可编辑";

myGrid.Columns[2].FooterStyle.BackColor =Color.Red;

//LastName字段

myGrid.Columns[3].ControlStyle.Width = 80;

myGrid.Columns[3].ControlStyle.BackColor =Color.LightBlue;

myGrid.Columns[3].FooterText ="不可编辑";

myGrid.Columns[3].FooterStyle.BackColor =Color.Red;

//FirstName字段

myGrid.Columns[4].ControlStyle.Width = 80;

myGrid.Columns[4].ControlStyle.BackColor =Color.LightBlue;

myGrid.Columns[4].FooterText ="可编辑";

myGrid.Columns[4].FooterStyle.BackColor =Color.Red;

//Title字段

myGrid.Columns[5].ControlStyle.Width = 100;

myGrid.Columns[5].ControlStyle.BackColor =Color.LightPink;

myGrid.Columns[5].FooterText ="可编辑";

myGrid.Columns[5].FooterStyle.BackColor =Color.Red;

//Address字段

myGrid.Columns[6].ControlStyle.Width = 120;

myGrid.Columns[6].ControlStyle.BackColor =Color.LightPink;

myGrid.Columns[6].FooterText ="可编辑";

myGrid.Columns[6].FooterStyle.BackColor =Color.Red;

//City字段

myGrid.Columns[7].ControlStyle.Width = 80;

myGrid.Columns[7].ControlStyle.BackColor =Color.LightGreen;

myGrid.Columns[7].FooterText ="可编辑";

myGrid.Columns[7].FooterStyle.BackColor =Color.Red;

GridBind();

}

// GridView更新操作

protectedvoidmyGrid_RowUpdating(objectsender,GridViewUpdateEventArgse)

{

if(e.NewValues != e.OldValues)

{

Employees.Employees_Model model =newEmployees.Employees_Model();

model.EmployeeID =Convert.ToInt32(myGrid.Rows[e.RowIndex].Cells[2].Text.Trim());

//Employees_DAL中的where条件为EmployeeID and LastName,所以LastName不能更改

model.LastName = myGrid.Rows[e.RowIndex].Cells[3].Text.ToString();

model.FirstName = ((TextBox)myGrid.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString();

model.Title = ((TextBox)myGrid.Rows[e.RowIndex].Cells[5].Controls[0]).Text.ToString();

model.Address = ((TextBox)myGrid.Rows[e.RowIndex].Cells[6].Controls[0]).Text.ToString();

model.City = ((TextBox)myGrid.Rows[e.RowIndex].Cells[7].Controls[0]).Text.ToString();

//Employees.BLL.Employees_Model bll = new Employees.BLL.Employees_Model();

bll.Update(model);

//取消编辑时隐藏Footer

myGrid.ShowFooter =false;

//设置"编辑""删除"按钮还原为系统定义的颜色

myGrid.Columns[0].ControlStyle.BackColor =Color.LightPink;

myGrid.Columns[1].ControlStyle.BackColor =Color.LightPink;

myGrid.EditIndex = -1;

GridBind();

}

}

// GridView取消事件

protectedvoidmyGrid_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse, )

{

//取消编辑时隐藏Footer

myGrid.ShowFooter =false;

//设置"编辑""删除"按钮还原为系统定义的颜色

myGrid.Columns[0].ControlStyle.BackColor =Color.LightPink;

myGrid.Columns[1].ControlStyle.BackColor =Color.LightPink;

myGrid.EditIndex = -1;//取消编辑状态

GridBind();

}

// GridView删除操作

protectedvoidmyGrid_RowDeleting(objectsender,GridViewDeleteEventArgse)

{

//设置更新与取消按钮之背景颜色

myGrid.Columns[0].ControlStyle.BackColor =Color.LightSteelBlue;

myGrid.Columns[1].ControlStyle.BackColor =Color.LightSteelBlue;

//获取Employees_DAL中的where条件: EmployeeID and LastName

intstrEmployeeID =Convert.ToInt32(myGrid.DataKeys[e.RowIndex].Values[0]);

stringstrLastName = myGrid.Rows[e.RowIndex].Cells[3].Text.ToString();

bll.Delete(strEmployeeID, strLastName);//删除

GridBind();

}

}

分享到:
评论

相关推荐

    ASP NET C# 纯代码实现GridView绑定增删改

    ### ASP.NET C#纯代码实现GridView绑定增删改 在ASP.NET Web应用程序中,`GridView`控件是一种非常强大的工具,用于展示数据记录,并且能够方便地进行排序、分页等操作。本篇将详细介绍如何使用ASP.NET C#通过纯...

    C#纯代码实现GridView绑定增删改.docx

    在本文档中,我们将深入探讨如何使用C#纯代码实现GridView的绑定、增删改功能。 1. **GridView基本结构与配置** - 在HTML部分,`&lt;asp:GridView&gt;`标签用于定义一个GridView控件,通过`runat="server"`属性使其能够...

    C#纯代码实现GridView绑定增删改.pdf

    本示例展示了如何使用C#纯代码方式实现GridView的绑定、添加、编辑和删除功能。以下是对代码的详细解释: 首先,我们看到一个ASP.NET页面(Default.aspx)的HTML部分,其中包含一个名为`myGrid`的GridView控件。这...

    asp.net五层架构实现对GridView的增删改差

    在处理数据展示和操作时,GridView控件是ASP.NET中常用的一种数据绑定控件,能够方便地进行数据的增删改查操作。下面我们将详细探讨如何在五层架构中实现对GridView的这些功能。 1. **表现层(Presentation Layer)...

    GridView中实现增删改实例

    这个“GridView中实现增删改实例”是一个典型的数据绑定和事件处理的学习案例,旨在帮助初学者掌握如何在实际项目中运用GridView。 首先,GridView的基础知识:GridView是System.Windows.Forms.DataGridView类的一...

    GridView 使用SqlDataAdapter实现增删改查

    本示例中的"GridView使用SqlDataAdapter实现增删改查"是一个典型的Web应用程序开发案例,通过结合ASP.NET和SQL Server数据库,展示了如何在网页上实现数据的动态操作。 首先,`User表.sql`文件通常包含了创建用户表...

    GridView增除删改

    这个压缩包文件“增除删改”显然是一个关于GridView控件在这些操作上的教程或示例代码集合。 首先,我们来详细了解GridView的基本结构和功能: 1. **数据绑定**:GridView通过DataSource属性与数据源绑定,可以是...

    linq to sql实现分层与gridview使用实现增删改

    在本教程中,我们将重点讨论如何利用LINQ to SQL实现分层架构,并结合GridView控件进行数据的增删改操作,这对于新手在进行三层项目开发时是非常实用的。 首先,让我们了解什么是LINQ to SQL。它是.NET Framework ...

    GridView增删改查学习示例源码

    这个"GridView增删改查学习示例源码"是一个典型的Web应用开发案例,主要展示了如何利用GridView实现数据的添加(Add)、删除(Delete)、修改(Update)和查询(Search)功能。 首先,`Default.aspx`通常是网站的...

    GridView 数据的增删改 通讯录 实例

    实现GridView的增删改功能,通常需要以下步骤: 1. 绑定数据源:首先,你需要将GridView与一个数据源(如SQLDataSource、EntityDataSource或LinqDataSource)绑定。数据源会根据查询语句获取数据并提供给GridView。...

    [初学者学习用]gridview增删改.rar

    这个压缩包文件“[初学者学习用]gridview增删改.rar”似乎包含了一些示例代码或教程,帮助初学者掌握如何在GridView中实现数据的增加、删除和修改功能。在ASP.NET中,这些操作通常涉及到数据绑定、事件处理以及后端...

    gridview增删改操作

    1. 静态方式:通过后台代码设置GridView的DataSource,并调用DataBind()方法绑定数据。在界面上添加“添加”按钮,点击后跳转到新页面填写信息,完成后返回并重新绑定数据。 2. 动态方式:在GridView中添加一个...

    Gridview控件用法Demo示例源码

    Gridview控件用法Demo 1:语言:ASP.NET(C#) 运行环境:Visual Studio2005+Access ...g)在VS中实现Gridview无代码增除删改功能; h)Gridview增除删改功能; i)Girdview主键索引应用; 内含详细注释

    asp.NET Gridview实现数据库增删改查,12年的旧代码,供参考

    在这个场景中,我们看到一个12年前的示例,它展示了如何利用GridView来实现对Access数据库的增删改查操作。这对于我们了解早期的.NET开发实践和技术有很好的参考价值。 首先, GridView控件是ASP.NET中的一个服务器...

    利用C#(winform)实现mongodb的增删改

    本篇文章将深入探讨如何使用C#和WinForm来实现MongoDB的增删改操作。 首先,我们需要在C#项目中引入MongoDB的驱动程序。MongoDB官方提供了`MongoDB.Driver`库,可以方便地与MongoDB进行通信。通过NuGet包管理器安装...

    ASPxGridView增、删、改操作

    ### ASPxGridView增、删、改操作详解 #### 一、概述 在Web开发中,对数据进行增、删、改、查是非常常见的需求。ASPxGridView是DevExpress为ASP.NET提供的一个强大的数据网格控件,它能够高效地展示并管理数据库中...

    (ASP.NET)Gridview使用EF绑定数据库支持多个网页的增查删改实例

    在ASP.NET开发中,Gridview控件是一种常用的数据显示和交互组件,它允许开发者方便地展示数据并实现数据的增删查改操作。本实例主要探讨如何利用Entity Framework(EF)这个强大的ORM框架来绑定数据库,并在多个网页...

    三层结构下使用GridView增删改查含DBHelper类

    提供的"三层架构下GridView控件增删改操作详解.pdf"可能是视频教程的配套文档,它可能详细解释了如何配置和使用DBHelper类,以及如何在三层架构中集成GridView的增删改查功能。建议参考文档以获取更具体的步骤和...

    DevExpress.XtraGrid.GridControl常用功能(增删改)

    GridControl提供了插入、删除、修改数据的功能,通过使用Add、RemoveAt和Modify方法可以实现对数据的增删改操作。例如: ```csharp //增加行 private void AddRows(string row_num){ dt.Rows.Add(new object[] { ...

    C# gridview 操作源代码大全

    这个“C# gridview 操作源代码大全”压缩包可能包含了这些功能的实现代码,对于初学者或有一定经验的开发者来说,都是一个很好的学习和参考资源。通过学习和实践这些源代码,可以加深对GridView控件的理解,提升开发...

Global site tag (gtag.js) - Google Analytics