`

纯代码实现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绑定增删改

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

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

    GridView 使用SqlDataAdapter实现增删改查

    此包含GridView使用SqlDataAdapter实现的增删改查功能,可以添加空白行,可以修改数据和删除数据等。有一定的学习价值! 包含有数据库脚步,只需修改配置文件即可运行。代码仅供学习使用。

    Gridview控件用法Demo示例源码

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

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

    最近学习nosql,发现mongodb是个不错的选择,便用C#(winform)来对mongodb进行操作,有不足之处,还请大虾见谅。

    GridView使用集合

    八、选增删改 1、GridView自带的选中、编辑、删除,即CommandField 2、GridView添加记录,在GridView表脚添加控件,用添加记录 3、更新所有记录,GridView直接绑定控件,然后更新 九、主键索引 根据主键多条记录删除...

    Gridview控件用法Demo

    1:语言:ASP.NET(C#) 运行环境:Visual Studio2005+Access 2:功能模块简介 a)Gridview表头表尾;...g)在VS中实现Gridview无代码增除删改功能; h)Gridview增除删改功能; i)Girdview主键索引应用; 内含详细注释

    gridview通用大全,gridview所有功能都在此

    gridview分页 gridview绑定数据 gridview分页 gridview checkbox ...此代码有:表头表尾,导入导出,多层嵌套,分页排序,结合控件,设置属性,无代码,增除删改,主键索引 下载即用,不需安装数据库,真是个方便啊!

    GridView例子

    很全的GridView例子 例子 GridView自动编号 GridView增删改 GridView隐藏列 GridView行背景颜色 GridView突显单元格 GridView省略字符 GridView求和平均值 GridView排序 GridView结合控件 ...GridView绑定图片

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

    本人新手,在csdn根据许多博主的文章进行学习,通过各种尝试实现了多个网页的增删查改,如有需要可以点击博文进行查阅,这是源码供大家参考~好评再走呀

    ASP.NET中的GridView绑定源码实例集

    GridView绑定图片、GridView查询、GridView弹出窗口、GridView固定表头、GridView结合控件、GridView合并表头、GridView排序、GridView求和平均值、GridView省略字符、GridView突显单元格、GridView自动编号、...

    gridview用法大全

    实现了gridview的增删改,分页,排序,各种样式,绑定图片,导入和导出,固定表头,表头合并,平均值和求和,隐藏列,编号等各种功能.内涵数据库.

    gridview控件实例大全

    关于gridview的多种用法,求和 求平均值 绑定图片等等

    基于MVVM的IOS开发框架EasyIOS.zip

    集成了开源代码UIGridView 网格视图 集成了开源代码RTLabel 富文本Label 集成SVProgressHUD指示器 集成MJRefresh下拉刷新,有删改 model类整合Jastor的类库和MojoDataBase类库 整合了很多开源的优秀...

    Developer Express 的一些注意事项

    dx中gridView动态给他隐藏或显示一行 新增的时候能编辑,而修改的时候不编辑 增删改的时候绑定的数据源sqlDataSource的时候遇到的问题 dx联动的用法

Global site tag (gtag.js) - Google Analytics