题
我正在研究一个涉及数据输入的项目。
桌子看起来像这样: dateTime
, enum
, text
, enum
, val1
, val2
, text
, enum
;
除了 val1
和 val2
仅输入一次,并将每个输入添加到表中 val1 val2
一对。 Val1
和 val2
每个行条目都不同,它们都是条形码。
我希望使其尽可能高效,因此我想知道是否有一种输入Val1/2时进行DGV更新的方法(目前,其余的Vals存储为Vars object[]
)。我正在使用标准条形码扫描仪,因此我可以使其在扫描条形码后输入“线路破坏”的值,因此我基本上是在寻找“ Scanner_line break”事件或其他东西...
所以我已经超越了这个问题...现在....我需要将所有数据写入文本/excel/xml/从dgv中的任何一个theheck文件...不良结构,我知道...可能只是启动超过。无论如何,我都创建了一个空数据集,以及空数据表和一个空数据集(使用 object[]
填写填充填充集合的表的行),我现在试图将所有数据输入到空数据表中,以便我可以将其添加到数据集中,以便我可以将数据写入XML。不用说它不起作用。我尝试使用XMLSerializer,但是当我导入访问和/或IE时会出错。因此,回到正方形1 ...是否有一种方法可以从DGV中填充DS,或者有一种方法可以仅使用DGV数据编写任何文档。注意:DGV = DataGridView
更新
在考虑了一段时间之后,我意识到我可以为带有文本变化事件输入的每个角色进行计数器增量,然后从那里做我想做的事...
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
}
}
解决方案
根据我的经验,大多数条形码扫描仪都被视为键盘输入。数字将出现在控制字符(通常是CRLF或选项卡)之后,但是您需要与扫描仪检查以查看其使用的字符)。然后,您可以使用键盘或文本变换事件来查看输入,并且是否是控制字符执行您的更新逻辑。