DataGridView数据输入处理 急!!

问题描述

背景描述:WPF项目引入WinForm中的DataGridView控件,该控件共有5列(LCM码、B/L码、Cell码、ZBD、时间),前3列每个单元格输入的数据都要验证,例如Cell码列,要验证其长度(动态验证标准)、字符含义(动态验证标准),ZBD列值自动输入,其值为Cell码列同行单元格内输入数据的某段字符,时间列为单元格获取焦点时的系统时间。问题描述:实现了数据验证及时间列自动输入,但是ZBD列自动输入为实现,其实现代码如下,在调试时,发现Cell码列值输入结束通过验证后ZBD列单元格获取焦点后Cell码列刚输入的值没有了,且提示“索引超出范围”,还请各位提供解决方法啊privatevoiddgPrint_CellEnter(objectsender,DataGridViewCellEventArgse){if(e.ColumnIndex==3){stringjz;if(cmbJzCode.SelectedIndex!=-1){jz=cmbJzCode.Text;introwIndex=e.RowIndex;conn.Open();stringsql="selectZBDFr,ZBDSt,ZBDLenfromtable_Jzwherecode='"+jz+"'";SqlDataAdapterda=newSqlDataAdapter(sql,conn);DataTabledt=newDataTable();da.Fill(dt);conn.Close();stringZBDFr=dt.Rows[0][0].ToString();stringZBDSt=dt.Rows[0][1].ToString();stringZBDLen=dt.Rows[0][2].ToString();if(ZBDFr=="Cell码"){if(dgPrint[rowIndex,2]!=null){dgPrint.CurrentCell.Value=dgPrint[rowIndex,2].Value.ToString().Trim().Substring(Convert.ToInt16(ZBDSt)-1,Convert.ToInt16(ZBDLen));}elseSystem.Windows.MessageBox.Show("Cell码为空,请先输入!","状态提示");}}elseSystem.Windows.MessageBox.Show("请先选择Jz信息!","状态提示");}}

解决方案

解决方案二:
断点、分析、判断、修改、断点。。。
解决方案三:
问题应该出在dgPrint.CurrentCell.Value这句后面的代码,里面有很多访问下标的,仔细核对一下是否超出了范围,包括Substring
解决方案四:
调试一下看看索引是否超出范围
解决方案五:
引用2楼的回复:

问题应该出在dgPrint.CurrentCell.Value这句后面的代码,里面有很多访问下标的,仔细核对一下是否超出了范围,包括Substring

调试过了,是dgPrint[rowIndex,2]超出范围,但是这个指的是当前单元格的前一个单元格,我是在这个单元格输入数据并验证通过后,选择的当前单元格,按理说不应该超出范围的,不知道怎么回事,还请指教
解决方案六:
问题已经通过其他方式解决了~~达到了一样的效果,应该还是CellValidating和CellEnter之间有冲突吧有没有人知道如何进行数据在保存到数据库时唯一性约束的异常处理啊

时间: 2024-07-31 22:23:19

DataGridView数据输入处理 急!!的相关文章

使用DataGridView数据窗口控件,构建用户快速输入体验

在"随风飘散" 博客里面,介绍了一个不错的DataGridView数据窗口控件<DataGridView数据窗口控件开发方法及其源码提供下载>,这种控件在有些场合下,还是非常直观的.因为,在一般要求客户录入数据的地方,一般有两种途径,其一是通过弹出一个新的窗口,在里面列出各种需要输入的要素,然后保存的,如下图所示:   其二就是直接在DataGridView中直接输入.这两种方式各有优劣,本文介绍采用该控件实现第二种模式的数据数据.如下图所示    这种方式,直接通过在Da

mysql添加数据问题,急、急、急

问题描述 mysql添加数据问题,急.急.急 添加hibernate支持后用junit测试添加数据发现一个奇怪的问题,数据库里有两张表,一个商家表(参照表),一个商品表(外键表),测试之前有在数据表添加一些数据,第一次测试添加数据后在数据表里发现参照表的id居然跟着外键表的id一样,而不是自增的,不过就只有第一次添加数据是这种情况,之后又添加了好几条数据,参照表的id正常自增,哪位大神可以帮忙解释下原因吗? 解决方案 jboss问题,急急急急急recv接收问题,急急急急DispatchActio

创建动态数据输入用户界面

创建|动态|数据 下载实例 简介 当创建数据驱动的 Web 站点时,Web 开发人员遇到的最常见的任务之一就是创建数据输入窗体.数据输入窗体是为系统用户提供数据输入方法的 Web 页.创建特定数据输入窗体的任务通常应该先从需求分析入手,即,明确指出需要从用户收集何种信息.需求确定之后,下一步是设计数据输入 Web 窗体,包括创建图形用户界面以及编写根据用户输入更新数据库的代码. 当数据输入窗体需求事先已知,并且此数据输入窗体对系统中所有用户都一样时,创建这样的输入窗体就毫无挑战性.然而,如果需要

Web软件测试 Checklist 应用系列(1) 数据输入

该系列文章分为以下几个部分: 第 1 部分:数据输入 主要介绍 Checklist 在表格输入.数据验证.数据一致性.日期输入.数字输入.文字字符输入区检查等 多个方面的应用. 第 2 部分:导航和链接 主要介绍在 Web 产品的导航和链接中应用 Checklist,以确保 Web 产品中的所有链接和页面可以正常到达 . 第 3 部分:颜色和字体 Checklist 在 Web 测试中的重要性 Checklist(检查清单)从名字字面意思即可理解,是用于检查 的一系列条目.之所以需要 Check

关于Mysql数据库中数据输入问题

关于数据库中数据输入问题 -------------------SELECT ... INTOOUTFILE 的 LOAD DATA INFILE 的逆操作问题. 一般我们都用insert into table_name values();来给数据表添加记录.这是一种方法. 当然也可以使用mysqlimport实用程序装载数据文件.其实它也是发送local data infile命令到服务器 而在输入大量数据的时候 ,我们可以用load data infile 语法来实现. 之前,我们需要先编辑

Excel表格中防范录入错误的数据输入提示小技巧

  Excel表格中防范录入错误的数据输入提示小技巧          很多时候,咱们制作的表格需要其他人来填写,但是填写人往往不清楚填写规则,最后填写结果就是一团糟. 如果当鼠标点击某个单元格时,有输入的提示,岂不是很好? 你知道如何设置出这样的效果吗?看动画演示吧-- wps教程 word教程 Excel教程  

Excel2007教程:数据输入技巧

Excel2007基础教程:数据输入技巧 通过使用一些有用的小技巧,可以简化将信息输入Excel 工作表的过程,同时还可以更快地完成所需工作.具体方法如下所述. 1 .输入数据后自动移动单元格指针 默认状态下,在单元格中输入数据后按Enter 键, Excel 会自动把单元格指针移到下一单元格. 要改变这一设置,选择" office 按钮" c:> "Excel 选项飞并单击"高级"选项卡(参见图3 .4) .标有"按Enter 键后移动所

怎么创建Bartender数据输入控件

  通过模板创建数据输入控件 1. 在模板上,插入新条形码.文本或图片对象,此对象的值由用户在打印时决定.(注:对于图片对象,用户需要输入图像文件的路径和文件名.) 2. 双击对象,以打开"对象属性"对话框. 3. 从导航窗格中选择所需的数据源,以查看"数据源"属性页,选择"转换"选项卡. 4. 在"数据输入控件"右边,点击图标以打开"数据输入控件"对话框. 5. 在"数据输入控件"下,

vb6-vb 把数据输入到excel表中

问题描述 vb 把数据输入到excel表中 For m = 68 To 80 Step 3 For n = 12.6 To 16.2 Step 1.2 For o = 3.6 To 4.4 Step 0.2 For p = 210 To 275 Step 30 If m <> n And m <> o And m <> p And n <> o And n <> p Then Print m; n; o; p End If Next Next N