在线休息活动

时间:2011-04-28 08:30:19

标签: c# data-entry

我正在开展涉及数据录入的项目。

表格如下所示:dateTimeenumtextenumval1val2textenum;

val1val2之外的所有值只输入一次,并添加到每个val1 val2对的表格中。 Val1val2对于每个行条目都不同,它们都是条形码。

我希望尽可能提高效率,所以我想知道在输入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
    }
}

1 个答案:

答案 0 :(得分:1)

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