gridview控件增删改查(gridview控件增删改查图书数量)

http://www.itjxue.com  2023-02-23 16:26  来源:未知  点击次数: 

gridview怎么实现增删改查学习

using System;

using System.Collections.Generic;

using System.Web.UI.WebControls;

namespace WebApplicationSample

{

/// summary

/// 这个实例主要演示了如何使用GridView进行数据的增、删、改、查。

/// 更多有关于该控件的知识,可以参考 (请仔细阅读)

/// /summary

public partial class Default : System.Web.UI.Page

{

/// summary

/// 这是我们定义的一个业务实体类,用来保存界面上的列表数据,为了保存,必须支持序列化

/// /summary

[Serializable]

public class Employee

{

public string FirstName { get; set; }

public string LastName { get; set; }

}

private ListEmployee data = new ListEmployee();//这是用来保存那个列表数据的字段

/// summary

/// 重写这个方法来保存视图状态。因为每次页面刷新的时候,默认情况下,data都会被清空,如果希望在多次回发的过程中保存数据,则重写该方法

/// /summary

/// returns/returns

protected override object SaveViewState()

{

var obj = new object[] { base.SaveViewState(), data };

return obj;

}

/// summary

/// 重写该方法,是与上面这个方法配套,在回发回来之后加载并还原

/// /summary

/// param name="savedState"/param

protected override void LoadViewState(object savedState)

{

var obj = savedState as object[];

base.LoadViewState(obj[0]);

data = obj[1] as ListEmployee;

}

/// summary

/// 页面初始化的时候执行该代码

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{//这里只是一个示例,默认给页面添加一个初始的员工,实际在做的时候,可以不加

data = new ListEmployee(){

new Employee(){FirstName ="ares",LastName ="chen"}

};

gvData.DataSource = data;

gvData.DataBind();

}

}

/// summary

/// 添加新的员工时执行该代码

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void btAddNew_Click(object sender, EventArgs e)

{

data.Add(new Employee());//创建一个空的对象

gvData.DataSource = data;//设置数据源

gvData.EditIndex = data.Count - 1;//设置当前这个对象为编辑状态

gvData.DataBind();//绑定数据

}

/// summary

/// 当用户决定要删除某一行数据时执行该代码

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void gvData_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

//删除某一行

data.RemoveAt(e.RowIndex);

gvData.DataSource = data;

gvData.EditIndex = -1;

gvData.DataBind();

}

/// summary

/// 当用户要保存修改时执行该代码

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void gvData_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

var index = e.RowIndex;//获取当前编辑行当索引号

var row = gvData.Rows[index];//获取当前用户编辑的这一行

var firstName = (row.Cells[1].Controls[0] as TextBox).Text;//获取用户输入的数据

var lastName = (row.Cells[2].Controls[0] as TextBox).Text;//获取用户输入的数据

var emp = data[index];//找到这个对象

emp.FirstName = firstName;

emp.LastName = lastName;

gvData.DataSource = data;

gvData.EditIndex = -1;//退出编辑状态

gvData.DataBind();

}

/// summary

/// 当用户要取消编辑的时候

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void gvData_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{

gvData.DataSource = data;

gvData.EditIndex = -1;

gvData.DataBind();

}

/// summary

/// 当用户要进行编辑的时候

/// /summary

/// param name="sender"/param

/// param name="e"/param

protected void gvData_RowEditing(object sender, GridViewEditEventArgs e)

{

gvData.DataSource = data;

gvData.EditIndex = e.NewEditIndex;

gvData.DataBind();

}

}

}

怎么用GridView 进行数据库里面表的增删改查,我用的是在GridView后面加个ItemTemplate 然后从工具箱里拖一

在设计视图中,点击GRIDVIEW,编辑模版 ,找到列,编辑ITEMTEMPLATE,双击按钮,生成事件,

Button btn = sender as Button;

GridViewRow row = (GridViewRow)(btn.NamingContainer);//用这段代码获取当前的行

int index = row.RowIndex;//用这段代码获取当前的行索引

gv.EditIndex = index;//使当前行成为编辑状态,如果你使用了自带的控件,可以不用写,如果你没有自带的编辑控件,那么你需要3个按钮,编辑,取消编辑,保存

DateBind();//这是自己写的手动绑定,手动编辑,取消编辑,一定要重新绑定,如果你是自动绑定,就是你的GRIDVIEWID.DataBind();自动绑定的不需要设置状态,但是在数据库保存,一定要第一行获取索引的代码,获取当前行

(row.Cells[你的列索引].Controls[0] as TextBox).Text.Trim();用这种方法获取编辑状态下的编辑值,然后数据库操作

(你的GRIDVIEW_ID).EditIndex = -1;//由与你是手动存数据,那么在数据库操作完成后一定要加上这句话结束编辑\

大哥 怎么在dategridview中实现增删改查

可以在上边放textbox,输入查询条件点击查询。

删除,点击打datagridview选中一行,下边按钮,写删除事件。

添加,的再挑一个页面添加把。

修改和添加可以共用一个页面。根据点的是添加还是修改加载显示不同即可。

Convert .ToInt32 ( dataGridView1.CurrentRow.Cells[0].Value.ToString());//获取gridview里边你点击的第一列数据,可以根据这个删改。

在gridview中增删改查的事件

GridView中没有增加数据的事件

删除事件

protected void gvwCourse_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

Guid m_guidID = new Guid(gvwCourse.DataKeys[e.RowIndex].Value.ToString());

gvwCourseDataBind();//记得绑定

}

修改事件(比较多麻烦点)

protected void gvwCourse_RowEditing(object sender, GridViewEditEventArgs e)

{

gvwCourse.EditIndex = e.NewEditIndex;

gvwCourseDataBind();

}

protected void gvwCourse_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

Guid m_guid = new Guid(gvwCourse.DataKeys[e.RowIndex].Value.ToString());

string m_strName = ((TextBox)gvwCourse.Rows[e.RowIndex].FindControl("txtTitle")).Text.Trim();

HttpPostedFile m_postFile = ((HtmlInputFile)gvwCourse.Rows[e.RowIndex].FindControl("fileUpdate")).PostedFile;

if (m_postFile.FileName.Length != 0 m_postFile.ContentLength != 0)

{

AddOnlineCourse(m_postFile, m_strName);

gvwCourse.EditIndex = -1;

gvwCourseDataBind();

}

gvwCourse.EditIndex = -1;

gvwCourseDataBind();

}

取消修改

protected void gvwCourse_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{

gvwCourse.EditIndex = -1;

gvwCourseDataBind();

}

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

当我用不同sql填充之后就不能用普通的事件来写

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

可以的..或者你可以尝试下用gridview的RowDataBound和DataBound事件中处理你的逻辑数据,这两个事件是在数据绑定到gridview时触发的事件,一般用于比如动态加控件到GridView...

如何在GridView控件中实现编辑和删除功能?

1.所接的数据源(即数据表)必须有主键;

2.配置SqlDataSource:点击配置数据源,新建一个连接,下一步,选择一个表,要具有增加、编辑和删除功能,在这个窗体里点高级按钮,弹出高级SQL生成选项的窗口,如果所选择的表(即数据源)没有主键,在这个窗口的所有选项是灰色的,无法使用。在这个窗口里生成增加、修改、删除语句。这样完成了SqlDataSource控件的数据源配置。

3.配置GridView控件。

(1)在属性面板设置DataSourceID属性为数据源控件SqlDataSource控件。

(2)打开GridView任务面板(在这个控件的右上按钮处),选择编辑列,在此可以增加要显示的列。

(3)在GridView任务面板选择启用编辑、启用删除项,要注意的是:如果在配置SqlDataSource时没有通过高级按钮来生成增加、修改、删除语句,在这个任务面板中将无法见到这几个选项。这样选择后,会自动在GridView生成一列,具有增加、修改、删除按钮。另外也可以通过编辑列或模板列的方式生成增加、修改、删除按钮。通过以上三步,不用编写一句代码就能使GridView具有编辑、增加、删除功能,很方便。

(责任编辑:IT教学网)

更多
上一篇:没有了

相关人物新闻文章

推荐人物新闻文章