質問
データ入力を含むプロジェクトに取り組んでいます。
テーブルは次のようになります: dateTime
, enum
, text
, enum
, val1
, val2
, text
, enum
;
以外のすべての値 val1
と val2
一度だけ入力され、それぞれのテーブルに追加されます val1 val2
ペア。 Val1
と val2
行エントリごとに異なり、両方ともバーコードです。
私はそれを可能な限り効率的にすることを探しているので、VAL1/2が入力されたときにDGVの更新を行う方法があるかどうかを知りたいです(残りのVALは現在VARSとして保存されています object[]
)。私は標準のバーコードスキャナーを使用しているので、バーコードをスキャンした後にスキャナーが入る「ラインブレイク」の値を入力することができますが、基本的に「scanner_linebreak」イベントなどを探しています...
だから私はその問題を超えて得た...以上。いずれにせよ、私は空のデータセットと空のデータテーブルと空のデータアロウを作成しました(を使用して object[]
セットを埋めるテーブルを埋める行を埋めます)そして、私は今、すべてのデータを空のデータテーブルに入力しようとしているので、データをXMLに書き込むことができるようにデータセットに追加しようとします。言うまでもなく、それは機能していません。 XmlSerializerを使用しようとしましたが、アクセスしてインポートするときにエラーが発生しました。 Square 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またはタブですが、スキャナーを確認して使用している文字を確認する必要があります)。その後、キーダウンまたはテキストチェンジのイベントを使用して入力を確認できます。コントロール文字が更新ロジックを実行するかどうかを実行できます。