dev GridControl中的GridView怎么实现批量删除、修改GridView表中的任意数据后保存。求大神解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dev GridControl中的GridView怎么实现批量删除、修改GridView表中的任意数据后保存。求大神解决相关的知识,希望对你有一定的参考价值。

主要问题如题,还有就是怎么获取用户输入的数据(就是表中最后1行是空的,可让用户添加新的数据行)。,谢谢了,如果好的话可再加分。。有源码的也可发617942014@qq.com

批量删除好解决,选中GridView右上角的编辑添加模板列,选中ItemTemplate在里面拉一个复选框控件然后就是判断复选框是否是选中状态如果是循环删除选中的数据列。修改的话就点编辑列在可用字段里有一个CommandField列点击他展开编辑,更新,取消这一行就点击添加至于编辑更新取消这个有点儿麻烦意识说不清,我就直接给你贴代码了 #region 编辑事件
protected void gvBooks_RowEditing(object sender, GridViewEditEventArgs e)

//设定选中行
gvBooks.EditIndex = e.NewEditIndex;
//重新绑定数据
HRDataBind();
//获取选中行的下拉框控件
DropDownList ddl = (DropDownList)gvBooks.Rows[e.NewEditIndex].FindControl("ddlCate");
//查询绑定数据

ddl.DataSource = cm.GetAllCategories();
ddl.DataTextField = "Name";
ddl.DataValueField = "Id";
ddl.DataBind();
//查询隐藏列
HiddenField hf = (HiddenField)gvBooks.Rows[e.NewEditIndex].FindControl("hfCateId");
ddl.SelectedValue = hf.Value;

#endregion

#region 取消编辑
protected void gvBooks_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

//GV恢复正常状态
gvBooks.EditIndex = -1;
//重新绑定数据
HRDataBind(); ;

#endregion

#region 更新
protected void gvBooks_RowUpdating(object sender, GridViewUpdateEventArgs e)

//获取图书Id
int id = Convert.ToInt32(gvBooks.DataKeys[e.RowIndex].Value);
//图书名
string title = ((TextBox)gvBooks.Rows[e.RowIndex].FindControl("txtTitle")).Text;
//作者
string author = ((TextBox)gvBooks.Rows[e.RowIndex].FindControl("txtAuthor")).Text;
//类别id
DropDownList ddl = (DropDownList)gvBooks.Rows[e.RowIndex].FindControl("ddlCate");
int cateId = Convert.ToInt32(ddl.SelectedValue);
//根据Id查询book
Books book = bm.QueryBookById(id);
book.Title = title;
book.Author = author;
book.Categories = new Categories() Id = cateId ;
//更新
bm.UpdateBook(book);
//更新完成恢复正常状态
gvBooks.EditIndex = -1;
HRDataBind();

#endregion

#region 删除
protected void gvBooks_RowDeleting(object sender, GridViewDeleteEventArgs e)

//获取id
int id = Convert.ToInt32(gvBooks.DataKeys[e.RowIndex].Value);
//删除
bm.DeleteBook(id);
//重新绑定
HRDataBind();

#endregion追问

这个GridView是第三方控件的,不是VS里面的那个~

追答

哦 还不一样吗 第三方控件都是有使用说明的 你仔细看看呗

追问

删除的我做好了,修改的用最烂的方法也勉强能交任务了。。就是不知道怎么在GridView的最后1行添加数据

追答

添加吗?上面不是也有个添加功能嘛 照着做呗

参考技术A 在设置里有,可以设置新添加行在最上方还是最下方

dev gridcontrol绘制页脚


gridView.OptionsView.ShowFooter = true;//启用显示页脚
//索引为1的列
gridView.Columns[1].SummaryItem.DisplayFormat = "{0}";
gridView.Columns[1].SummaryItem.FieldName = "奖励次数";//列对应的列名--"奖励次数"
gridView.Columns[1].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum;//求和
//索引为2的列
gridView.Columns[2].SummaryItem.DisplayFormat = "{0}";
gridView.Columns[2].SummaryItem.FieldName = "奖励金额";//列对应的列名--"奖励金额"
gridView.Columns[2].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum;//求和
gridView.CustomDrawFooterCell += new FooterCellCustomDrawEventHandler(this.gridView_CustomDrawFooterCell);//设置一下对齐方式,通过GridView的CustomDrawFooterCell 事件


/// <summary>
/// 绘制页脚时发生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridView_CustomDrawFooterCell(object sender, FooterCellCustomDrawEventArgs e)
{
e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;//左对齐
}

 

以上是关于dev GridControl中的GridView怎么实现批量删除、修改GridView表中的任意数据后保存。求大神解决的主要内容,如果未能解决你的问题,请参考以下文章

dev gridcontrol绘制页脚

DEV 控件gridControl如何增加按钮列

dev控件中Gridcontrol的columnEdit怎样用代码绑定

DEV获取GridControl当前行

对Dev的GridControl/GridView控件进行分组并展开操作

DEV GridControl小结