datagirdview新增行出现的问题

问题描述

DataRownewrow=Ds.Tables[0].NewRow();//newrow.BeginEdit();//newrow["Materialsupid"]=txt_MaterialCode.Text;newrow["MaterialCode"]=txt_MaterialCode.Text;//newrow.EndEdit();Ds.Tables[0].Rows.Add(newrow);BindingSourcebindingSource=newBindingSource();bindingSource.DataSource=Ds.Tables[0].DefaultView;dataGridView1.DataSource=bindingSource;bindingNavigator1.BindingSource=bindingSource;Materialsupid同MaterialCode字段为主键,即一个物料编码对应多个供应商.Materialsupid供应商需要开放给用户输入,//newrow["Materialsupid"]="测试";所以这个不开放出来让用户输入,可是用户输入了还是报为空值,如图所示

解决方案

解决方案二:

解决方案三:
看不到你的图,从你代码上面看,你的新行里面只有一个列被设置了值,不知道你的报错不能为空值是不是指其他的列不能为空,你检查一下将相关的完整代码与错误信息贴出来看看
解决方案四:
你的新建行的rows.add()动作应该在你的值都填写完毕以后进行,在哪里设置个断点看看值是不是都进去了
解决方案五:
有两个字段为主键,其中一个字段我已经设了初值,但另外一个主健需要用户自行输入,但是用户输入了还是提示为空,真不知道是哪里原因了
解决方案六:
我发现新增行后要光标移动到其它行后就可以保存呢.怎么回事.
解决方案七:
不能沉啊
解决方案八:
DataGridView.CommitEdit()执行这个方法看看
解决方案九:
引用7楼atlasroben的回复:

DataGridView.CommitEdit()执行这个方法看看

privatevoiddataGridView1_CurrentCellDirtyStateChanged(objectsender,EventArgse){if(dataGridView1.IsCurrentCellDirty){dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);}}是这样吗?还是没有效果
解决方案十:
我没有想明白的就是为什么你需要通过DataRownewrow=Ds.Tables[0].NewRow();的方式去添加数据,因为用户在界面上添加了数据以后你的datagridview的数据源也相应自动更新了,也就是说你的数据源是不需要你去rows.add的所以不是很明白你最开始的代码的描述
解决方案十一:
错误提示写着Materialsupid列为空,不能让这例为空,你把这例给个值就可以了.
解决方案十二:
原来是bindingNavigator1上插入按钮的问题,我新增一个按钮,上用同样的事件保存就没问题,奇怪bindingNavigator1上的保存代码就出现提示

时间: 2024-07-31 01:20:33

datagirdview新增行出现的问题的相关文章

如何去掉Datagrid中的新增行

datagrid   在编程中我们经常遇到这样的问题,我们想要Datagrid的readonly属性为False,直接在Datagrid中修改数据.但又不想让它出现新增的行,这个问题很多网友发贴问过,事实上实现起来非常简单,只是大家没想到而已.下面通过一个简单示例说明之 首先在界面中添加一个Datagrid和一个Button按钮,Name为默认值,双击Button1编写以下代码.     Private Sub Button1_Click(ByVal sender As System.Objec

c#-dataGridView 使用 DataAdapter.Update 提交数据 新增行没有提交?

问题描述 dataGridView 使用 DataAdapter.Update 提交数据 新增行没有提交? private void SaveItem_Click(object sender, EventArgs e) { DataTable changeddata = DB.GetChanges(); cardinfodataGridView.EndEdit(); if (changeddata != null) CDataAdapter.Update(DB); } 如果新增行的话,没有离开新

一个统计表每天的新增行数及新增存储空间的功能_MsSql

使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能 实现步骤如下: 1. 创建表 创建表,存储每天的表空间占用情况 CREATE TABLE [dbo].[t_rpt_table_spaceinfo]( [table_name] [sysname] NOT NULL, [record_date] [date] NOT NULL, [record_time] [time](7) NOT NULL, [rows_count] [bigint] NULL, [reserved] [big

一个统计表每天的新增行数及新增存储空间的功能

使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能 实现步骤如下: 1. 创建表 创建表,存储每天的表空间占用情况 CREATE TABLE [dbo].[t_rpt_table_spaceinfo]( [table_name] [sysname] NOT NULL, [record_date] [date] NOT NULL, [record_time] [time](7) NOT NULL, [rows_count] [bigint] NULL, [reserved] [big

俄罗斯方块新增行算法:不拘一格编程序之二

[题目]: 一个数组int a[10],要求为每个元素随机赋值0或者1,但是这10个元素不能全0,也不能全1. [说明]:俄罗斯方块中需要在最下面插入若干具有随机方块的行,以增加游戏的难度.当然不能一行全是方块,这样就不能掉呢.也不能没有方块,那样难度会小一些. [方法1]逐个随机,统一判断 随机产生10个元素,如果都是0,或者都是1,就重新生成. 算法的关键不是逐个产生随机数,而是如何确定产生的随机数是全0?全1?或者0.1都有. [方法1.1]标志法(部分法) 增加变量n1.如果n1=1表示

wPF之DataGrid新增行如何添加到后台数据库

问题描述 List<Models.UserInfo>userInformation=newList<Models.UserInfo>();///数据行编辑intage;privatevoiddataGrid1_RowEditEnding(objectsender,DataGridRowEditEndingEventArgse){Models.UserInfouserInfo=newModels.UserInfo();userInfo=e.Row.ItemasModels.UserI

DevExpress 新增行问题

问题描述 GridControl1和GridControl2在GridControl1中双击数据传递至GridControl2上1.GridControl1代码this.gridView2.AddNewRow();this.gridView2.SetFocusedValue(this.gridView1.GetFocusedRowCellValue("Code").tostring());在循环获取GridView2的时候发现this.GridView2.DataRowCount少一行

datagridview 新增行

问题描述 各位大哥大姐,小弟我有个问题想请教,问题是这样的:我现在布局一个datagridview两个textbox,分别为textbox1,textbox2,还有一个按钮.我想通过按钮单击之后,包textbox1,textbox2中的数据添加到datagridview,之前的datagridview数据不变.请高手帮帮忙!没有插入到数据库中,到最后一起插入数据库的 解决方案 解决方案二:编号:textbox1,名称:textbox2,提交:button1,还要设立密码作为window验证,如U

easyui如何在datagrid的行编辑或新增的时候锁定行

问题描述 easyui如何在datagrid的行编辑或新增的时候锁定行 easyui如何在datagrid的行编辑或新增的时候锁定行, 让鼠标点击其他行后还是选中的当前编辑行? 因为我发现如果在编辑行或新增行的时候,我把鼠标单击到其他行, 在获取数据的时候就获取不到编辑或新增的内容. 解决方案 appendRow后获取添加行的index,调用beginEdit就好了 var index=$('#FlowList').datagrid('appendRow', { FlowTypeName: 'n