我正在开展涉及数据录入的项目。
表格如下所示:dateTime
,enum
,text
,enum
,val1
,val2
,text
,enum
;
val1
和val2
之外的所有值只输入一次,并添加到每个val1 val2
对的表格中。 Val1
和val2
对于每个行条目都不同,它们都是条形码。
我希望尽可能提高效率,所以我想知道在输入Val1 / 2时是否有办法更新DGV(其余的val目前存储为vars in object[]
)。我正在使用标准条形码扫描仪,所以我可以让它输入扫描条码后扫描仪输入的“换行”值,所以我基本上都在寻找“scanner_LineBreak”事件......
所以我已经超越了那个问题......现在....我需要将所有数据写入DGV的text / excel / xml / whichevertheheck文件......糟糕的结构我知道...可能只是重新开始。无论如何,我已经创建了一个空的数据集,并且空数据表和一个空的数据行(使用object[]
填充填充表填充集合的行)我现在正尝试将所有数据输入到空dataTable所以我可以将它添加到数据集中,这样我就可以将数据写入XML。不用说它不起作用。我尝试使用XmlSerializer但在将其导入Access和/或IE时出错。所以回到第1方...有没有办法从DGV填充DS,或者有办法只使用DGV数据来编写任何文档。
注意:DGV = DataGridView
更新
在思考了一段时间后,我意识到我可以为使用Textchanged事件输入的每个字符做一个计数器增量,然后从那里做我想要的......去图......
int counter = 0;
private void textbox1_Textchanged(obj sender etc)
{
counter++;
if (counter % 10 == 0)
{
//shift focus to other textbox then do same to "save" values
}
}
答案 0 :(得分:1)
根据我的经验,大多数条形码扫描仪都被视为键盘输入。数字将随后出现一个控制字符(通常是CRLF或制表符,但您需要检查扫描仪以查看它使用的字符)。然后,您可以使用KeyDown或TextChanged事件查看输入,如果是控制字符,则执行更新逻辑。