GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx

上传人:b****6 文档编号:18595074 上传时间:2022-12-29 格式:DOCX 页数:20 大小:308.84KB
下载 相关 举报
GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx_第1页
第1页 / 共20页
GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx_第2页
第2页 / 共20页
GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx_第3页
第3页 / 共20页
GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx_第4页
第4页 / 共20页
GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx

《GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。

GridView1删除修改字段类型全而且用GridView集成处理Word文档下载推荐.docx

下方的<

appSettings/>

(2)在<

位置下增加:

<

appSettings>

addkey="

ConnStr"

value="

Server=localhost;

uid=sa;

pwd=;

database=jyxystu"

>

<

/add>

/appSettings>

7.在项目中添加Web窗体mygridview.aspx(文件名含义为按类查询)

8.布局控件如下:

一个GridView,在GridView下方有两个label,准备显示第x页共y页。

ID属性分别是Label1和Label2。

GridView1自动套用格式为"

雪松"

AutoGenerateColumns="

False"

AllowSorting="

True"

AllowPaging="

PageSize="

10"

因为要采用分页技术所以需要再设置PagerSettings属性

FirstPageText="

首页"

LastPageText="

尾页"

NextPageText="

下一页"

PreviousPageText="

上一页"

Mode="

NextPreviousFirstLast"

把GridView中的FontSize设为small。

GridView的DataKeyNames属性为"

zgbh"

GridView1编辑列界面如下(通过“添加列”),如图所示:

其中在“选定的字段”下各字段的属性设置如下:

可用字段类型

选定的字段

DataField属性

HeaderText属性

SortExpression属性

readonly属性

ControlStyleWidth属性

DataFormatString

BoundField

True

姓名

80px

TemplateField

40px

120px

{0:

yyyy-MM-dd}

或{0:

d}

工龄

30px

工资

60px

c}

会显示货币符号

CommandField

编辑

删除

备注:

1.ControlStyleWidth属性是解决GridView进入编辑状态后表格列宽紊乱的问题,对文本框进行强制宽度设置。

2.DataFormatString属性是解决数据显示问题的,在此例中引入该属性是为了控制日期型数据显示为2010-10-11格式的。

此外:

编辑按钮还需设置属性:

ShowEditButton="

删除按钮还需设置属性:

ButtonType="

Button"

CommandName="

delete"

Text="

删除"

补充知识DataFormatString属性常见取值:

c}货币格式

d}短日期2010-10-12

D}长日期2010年10月12日

000.0}四舍五入小数点保留第几位有效数字;

N2}小数点保留2位有效数字;

N2}% 

小数点保留2位有效数字加百分号;

yy-MM-dd} 

例如07-3-25;

yyyy-MM-dd} 

例如2007-3-25

9.切换到源视图,补充性别绑定列的HTML代码。

asp:

TemplateFieldHeaderText="

性别"

EditItemTemplate>

DropDownListID="

DropDownList2"

runat="

server"

selectedvalue='

%#bind("

xb"

)%>

'

ListItem>

男<

/asp:

女<

DropDownList>

/EditItemTemplate>

ItemTemplate>

LabelID="

Label1"

Text='

%#Bind("

Label>

/ItemTemplate>

ControlStyleWidth="

40px"

/>

TemplateField>

说明:

(1)希望网页运行后,当GridView进入编辑状态后,在性别列处显示的是下拉列表框,在下拉列表框中有男、女两个选项供选择,要比提供文本框输入男和女,显得界面更友好,如果单纯用文本框输入,就不用搞这么复杂了,直接用一个BoundField列就可以了。

(2)除手工在源视图下填写代码外,另外一种正规方法是在GridView上点智能标记,调用快捷菜单“编辑模板”,然后选Column[2]-性别,进入模板列编辑状态,在此图中可设插入控件,编辑完后点“结束模板编辑”按钮返回,如果同学们采用这种方法,那么在设计完后,对照一下HTML代码,看有无缺漏。

另外ItemTemplate是浏览状态下的控件显示。

EditItemTemplate是编辑状态下的控件显示。

(3)使用Bind方法可将修改后的数据写回,通常在数据绑定控件的EditItemTemplate或InsertItemTemplate模板中使用Bind方法,并将字段名称传递给它,以显示和编辑字段数据,双向绑定语法格式如下:

字段名"

(4)在编辑模板状态下,在ItemTemplate模板中为“删除”按钮设置以下这些属性。

关键是CommandName="

OnClientClick="

returnconfirm("

您确定要删除该条记录吗?

"

);

10.导入命名空间:

usingSystem.Data.SqlClient;

//cyd2010.10导入命名空间,此例就不用类来处理了

11.在Page_Load函数上方写下数据库连接字符串

//cyd2010.10声明连接字符串,所取值来自于Web.config文件中的键

stringMyConnStr=System.Configuration.ConfigurationSettings.AppSettings["

];

12.Page_Load函数如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

Page.IsPostBack)bindgrid();

//cyd2010.10首次运行,表格绑定数据源

}

13.用户自定义函数bindgrid()函数如下:

voidbindgrid()

DataSetds=newDataSet();

using(SqlConnectionsqlconn=newSqlConnection(MyConnStr))

SqlDataAdaptersqld=newSqlDataAdapter("

selectzgbh,xm,xb,csny,gl,gzfromtb_zg"

sqlconn);

sqld.Fill(ds,"

tb_zg"

//cyd2010.10判断是否已经进行排序,如果是则按照ViewState中存储的信息生成排序后的DataView对象

if(ViewState["

SortDirection"

]==null)

GridView1.DataSource=ds.Tables["

].DefaultView;

else

DataViewSortedDV=newDataView(ds.Tables["

]);

SortedDV.Sort=ViewState["

SortExpression"

].ToString()+"

"

+ViewState["

].ToString();

GridView1.DataSource=SortedDV;

GridView1.DataBind();

14.GridView1的Sorting事件代码如下:

protectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse)

]==null)ViewState["

]="

DESC"

;

].ToString()=="

ASC"

ViewState["

]=e.SortExpression;

this.bindgrid();

15.GridView1的RowDeleting事件代码如下:

protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)

//cyd2010.10设置数据库连接

SqlConnectionsqlconn=newSqlConnection(MyConnStr);

sqlconn.Open();

//cyd2010.10删除记录

Stringsql="

deletefromtb_zgwherezgbh='

+GridView1.DataKeys[e.RowIndex].Value.ToString()+"

SqlCommandComm=newSqlCommand(sql,sqlconn);

Comm.ExecuteNonQuery();

sqlconn.Close();

sqlconn=null;

Comm=null;

GridView1.EditIndex=-1;

bindgrid();

16.GridView1的RowEditing事件代码如下:

protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)

GridView1.EditIndex=e.NewEditIndex;

17.GridView1的RowCancelingEdit事件代码如下:

protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)

18.GridView1的RowUpdating事件代码如下:

protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)

//cyd2010修改记录

try

SqlCommandComm=newSqlCommand();

Comm.Connection=sqlconn;

Comm.CommandText="

updatetb_zgsetxm=@xm,xb=@xb,csny=@csny,gl=@gl,gz=@gzwherezgbh=@zgbh"

Comm.Parameters.AddWithValue("

@zgbh"

GridView1.DataKeys[e.RowIndex].Value.ToString());

//cyd2010.10职工编号做为主索引,是在gridview中设置的属性DataKeyNames="

@xm"

((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text);

@xb"

((DropDownList)GridView1.Rows[e.RowIndex].Cells[2].Controls[1]).Text);

//cyd2010.10因为性别是用下拉列表框来处理的,属于模板字段,所以为1,其它都为0

@csny"

((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text);

@gl"

((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text);

@gz"

((TextBox)GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text);

catch(Exceptionex)

Response.Write("

数据库更新出错"

+ex.ToString());

19.GridView1的PageIndexChanging事件代码如下:

protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)

//cyd2010.10设置要显示的页的索引并重新绑定数据

GridView1.PageIndex=e.NewPageIndex;

20.GridView1的DataBound事件代码如下:

protectedvoidGridView1_DataBound(objectsender,EventArgse)

//cyd2010.10分页数据绑定前设置当前页信息

Label2.Text="

共"

+(GridView1.PageCount).ToString()+"

页"

Label1.Text="

第"

+(GridView1.PageIndex+1).ToString()+"

21.GridView1的RowDataBound事件代码如下(在该事件中解决两个问题,一是鼠标移到行上时变时;

一是解决删除记录时给一次后悔机会):

protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)

{inti;

//cyd2010.10执行循环,保证每条数据都可以更新

for(i=0;

i<

=GridView1.Rows.Count;

i++)

{//cyd2010.10首先判断是否是数据行

if(e.Row.RowType==DataControlRowType.DataRow)

{//cyd2010.10当鼠标停留时更改背景色

e.Row.Attributes.Add("

onmouseover"

"

c=this.style.backgroundColor;

this.style.backgroundColor='

#00A9FF'

//cyd2010.10当鼠标移开时还原背景色

onmouseout"

this.style.backgroundColor=c"

/*以前用以下这段代码配合删除按钮,进行删除前确认,但是失败了,原因是两段代码冲突,后将GridView中的删除按钮列转换成

模板列,并给ItemTemplate模板中为按钮的OnClientClick事件写代码:

您确定要删除该条记录吗?

就实现了删除前有确认对话框的效果

//cyd2010.10解决删除记录时有提示

if(e.Row.RowState==DataControlRowState.Normal||e.Row.RowState==DataControlRowState.Alternate)

((Button)e.Row.Cells[7].Controls[0]).Attributes.Add("

onclick"

javascript:

returnconfirm('

你确认要删除:

\"

+e.Row.Cells[1].Text+"

吗?

)"

*/

【结束】

2010年10月30日

本程序还需要解决的问题:

1.将插入记录集成到GridView。

2.将验证控件集成到GridView。

将在下一节课中处理。

作业:

将工程中素材修改为以下班级表,请同学们将文件进行修改,记录自已加:

bjh

班级号

bjm

班级名

rs

人数

rxsj

入学时间

bzr

班主任

GridView事件总结:

序号

事件

说明

1

PageIndexChanged

在单击某一页导航按钮时,但在GridView控件处理分页操作之后发生。

此事件通常用于以下情形:

在用户定位到该控件中的另一页之后,您需要执行某项任务。

PageIndexChanging

在单击某一页导航按钮时,但在GridView控件处理分页操作之前发生。

此事件通常用于取消分页操作。

3

RowCancelingEdit

在单击某一行的“取消”按钮(其CommandName属性设置为“Cancel”的按钮)时,但在GridView控件退出编辑模式之前发生。

此事件通常用于停止取消操作。

RowCommand

当单击GridView控件中的按钮时发生。

此事件通常用于在控件中单击按钮时执行某项任务。

5

RowCreated

当在GridView控件中创建新行时发生。

此事件通常用于在创建行时修改行的内容。

6

RowDataBound

RowDataBound顾名思义,行绑定的时候触发的事件,由于GridView被加载的时候不是一下子出来的,就是一行一行的出来的,每出来一行,就触发一次RowDataBound事件,最终把整个GridView加载出来,你可以针对这个事件处理相应的事情,比如,在每一行添加OnMourseOver,OnMourseOut事件,这样GridView的每一行就有了这些事件。

7

RowDeleted

RowDeleted发生在删除数据之后。

在单击某一行的“删除”按钮(其CommandName属性设置为“Delete”的按钮)时,但在GridView控件从数据源中删除相应记录之后发生。

此事件通常用于检查删除操作的结果。

RowDeleting

RowDeleting发生在删除数据之前,在单击某一行的“删除”按钮(其CommandName属性设置为“Delete”的按钮)时,但在GridView控件从数据源中删除相应记录之前发生。

此事件通常用于取消删除操作。

9

RowEditing

在GridView中的行进入编辑模式之前,引发RowEditing事件,如果您需要在编辑记录前进行某些预处理,可以在这里操作。

发生在单击某一行的“编辑”按钮(其CommandName属性设置为“Edit”的按钮)以后,GridView控件进入编辑模式之前。

此事件通常用于取消编辑操作。

10

RowUpdated

RowUpdated发生在更新数据源之后。

发生在单击某一行的“更新”按钮(其CommandName属性设置为“Update”的按钮),并且GridView控件对该行进行更新之后。

此事件通常用于检查更新操作的结果。

11

RowUpdating

RowUpdating事件发生在更新数据源之前,发生在单击某一行的“更新”按钮以后,GridView控件对该行进行更新之前。

此事件通常用于取消更新操作。

12

Sele

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1