首页 新闻 会员 周边

直接在datagridview上修改,然后SubmitChanges(),但无法保存

0
悬赏园豆:10 [待解决问题]

直接在datagridview上修改后,比如我改了一个单元格的值,SubmitChanges()保存后,没有任何反应,回头再看,还是没有保存上? 这是怎么回事?该如何修改啊? 请指教

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _18
{
public partial class Form1 : Form
{
booksDataClassesDataContext bookstore = new booksDataClassesDataContext();
public Form1()
{

InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.book_infoDataGridView.DataSource = bookstore.book_info;
BindingSource bds=new BindingSource();
bds.DataSource = this.bookstore.book_info;
this.book_infoBindingSource = bds;
this.book_infobindingNavigator.BindingSource = bds;

}

 

private void save_Click(object sender, EventArgs e)
{
this.book_infoBindingSource.EndEdit();
bookstore.SubmitChanges();
}
}
}

绝对菜鸟的主页 绝对菜鸟 | 初学一级 | 园豆:27
提问于:2013-02-08 14:05
< >
分享
所有回答(3)
0
Yu | 园豆:12980 (专家六级) | 2013-02-08 16:25
0

光光调用下SubmitChanges方法就可以了啊?虽然我没用过这个方法,不过我想,既然你是要保存DataGridView中的数据,那么你的SubmitChanges方法或者bookstore对象总要知道你要保存什么东西的数据吧。从你提供的这些代码看来,你没有让SubmitChanges方法或者bookstore对象知道,你要保存的是DataGridView中的数据

Bright Moon ‘ s Blog | 园豆:208 (菜鸟二级) | 2013-02-24 21:04
0

首先获取修改的数据,然后在数据源中查询到修改前的数据,并修改成修改后的数据内容;最后再调用修改命令修改并保存到数据库,然后重新查询,刷新界面;

 #region gridView1_CellValueChanged
        private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            var id = Kit.ToInt32(gridView1.GetDataRow(e.RowHandle)["ID"]);
            if (id != 0 && role.Equals(Role.PurchaseOrderOperator))
            {

                var shipmentItem = recShipmentItem.SingleOrDefault(o => o.ID == id);
                if (e.Column.Name == "PRINT_NUM_IN")
                {
                    if (!Validation.IsNumeric(e.Value.ToString()))
                    {
                        DialogHelper.ShowErrorMessage("打印数量必须为整数");
                        return;
                    }
                    else
                    {
                        shipmentItem.PRINT_NUM_IN = Kit.ToDecimal(e.Value);
                    }
                }
View Code

我这个用的是 devexpress的 gridcontrol控件,跟gridview差不多; 这个是获取修改的数据,并修改数据源;

update数据源 自己应该回写吧,写完再submitchanges

十四 | 园豆:46 (初学一级) | 2016-08-01 16:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册