Frage

Ich arbeite an einem Projekt mit Dateneingabe.

Der Tisch sieht so aus: dateTime , enum, text, enum, val1, val2, text, enum;

Alle Werte außer abgesehen von val1 und val2 werden nur einmal eingegeben und für jeden zu der Tabelle hinzugefügt val1 val2 Paar. Val1 und val2 sind für jeden Zeileneintrag unterschiedlich, sie sind beide Barcodes.

Ich möchte es so effizient wie möglich machen, daher möchte ich wissen, ob es eine Möglichkeit gibt, das DGV -Update zu erzielen, wenn Val1/2 eingegeben wurde (der Rest der VALs wird derzeit in einem VARS gespeichert object[] ). Ich verwende einen Standard -Barcode -Scanner, damit ich ihn nach dem Scannen des Barcodes in den Werten "LineBreak" eingeben kann, damit der Scanner nach dem Scannen des Barcodes nach dem Ereignis "scanner_lineBreak" oder so etwas suche ...

Also bin ich über dieses Problem hinausgekommen ... jetzt .... Ich muss alle Daten in einen Text/Excel/XML/je nach der DGV -Datei schreiben ... schlechte Strukturierung, die ich kenne ... könnte einfach beginnen Über. Auf jeden Fall habe ich einen leeren Datensatz und einen leeren DataTable und einen leeren Datarow erstellt (mit dem object[] Füllen Sie die Zeile aus, in der die Tabelle ausgefüllt wird, die den Satz füllt), und ich versuche nun, alle Daten in den leeren DataTable einzugeben, damit ich sie dem Datensatz hinzufügen kann, damit ich die Daten an XML schreiben kann. Unnötig zu erwähnen, dass es nicht funktioniert. Ich habe versucht, den XMLSerializer zu verwenden, aber es fehlerhaft, wenn ich ihn importiere und/oder dh. Zurück zu Square 1 ... gibt es eine Möglichkeit, einen DS von einem DGV aus zu füllen, oder gibt es eine Möglichkeit, das Dokument mit nur DGV -Daten zu schreiben. Hinweis: DGV = DataGridView

AKTUALISIEREN

Nachdem ich eine Weile darüber nachgedacht hatte, wurde mir klar, dass ich für jeden mit dem text geschlechtten Ereignis eingegebenen Charakter ein Zählerinkrement machen konnte und von dort, was ich wollte ... Gehen Sie mit Figuren ...

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
    }
}
War es hilfreich?

Lösung

Nach meiner Erfahrung werden die meisten Barcode -Scanner als Tastatureingabe behandelt. Die Zahlen werden von einem Steuercharakter (normalerweise CRLF oder Registerkarte "geliefert, aber Sie müssen sich mit Ihrem Scanner erkundigen, um zu sehen, welches Zeichen sie verwendet). Sie können dann die Ereignisse von Keydown- oder TextChanged -Ereignissen verwenden, um die Eingabe zu betrachten. Wenn es sich um das Steuercharakter handelt, führen Sie Ihre Aktualisierungslogik aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top