3

我正在做一个涉及数据输入的项目。

表格如下所示:dateTime, enum, text, enum, val1, val2, text, enum;

val1和之外的所有值val2仅输入一次,并为每val1 val2对添加到表中。Val1并且val2每个行条目都不同,它们都是条形码。

我希望使其尽可能高效,所以我想知道是否有办法在输入 Val1/2 时进行 DGV 更新(其余的 vals 当前存储为 vars 中的 vars object[])。我正在使用标准条形码扫描仪,所以我可以让它在扫描条形码后输入的“换行符”上输入值,所以我基本上是在寻找“scanner_LineBreak”事件或其他东西......

所以我已经解决了这个问题......现在......我需要将所有数据写入 DGV 中的 text/excel/xml/whichevertheheck 文件......我知道的结构不好......可能刚刚开始超过。无论如何,我已经创建了一个空数据集、空数据表和一个空数据行(使用object[]填充填充集合的表的行),我现在正尝试将所有数据输入到空数据表中,所以我可以将它添加到数据集,以便我可以将数据写入 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
    }
}
4

1 回答 1

1

根据我的经验,大多数条码扫描仪都被视为键盘输入。数字后面会跟着一个控制字符(通常是 CRLF 或制表符,但您需要使用扫描仪查看它使用的是什么字符)。然后,您可以使用 KeyDown 或 TextChanged 事件来查看输入,如果它是控制字符,则执行您的更新逻辑。

于 2011-04-28T08:49:14.270 回答