Question

Je travaille sur un projet impliquant la saisie des données.

Le tableau se présente comme suit: dateTime, enum, text, enum, val1, val2, text, enum;

Toutes les valeurs en dehors de val1 et val2 sont entrées qu'une seule fois et sont ajoutés à la table pour chaque paire de val1 val2. Val1 et val2 sont différentes pour chaque entrée de la ligne, ils sont tous les deux codes à barres.

Je cherche à le rendre aussi efficace que possible, donc je voudrais savoir s'il y a un moyen de faire la mise à jour de DGV quand ont été entrés Val1 / 2 (le reste des vals sont actuellement stockés comme VARs un object[]). J'utilise un scanner de codes à barres standard, donc je pensais que je pouvais le faire entrer les valeurs sur le « retour à la ligne » le scanner entre après le balayage du code à barres, donc je suis à la recherche essentiellement pour l'événement « scanner_LineBreak » ou quelque chose ...

J'ai eu au-delà de ce problème ... maintenant .... Je dois écrire les toutes les données à un texte / Excel / xml / whichevertheheck fichier à partir du DGV ... mauvaise structuration Je sais ... pourrait bien recommencer. De toute façon, je l'ai créé un ensemble de données vide et vide DataTable et un DataRow vide (en utilisant le remplissage object[] la ligne qui remplit la table qui remplit l'ensemble) et je tente maintenant d'entrer toutes les données à la dataTable vide afin Je peux l'ajouter à l'ensemble de données afin que je puisse écrire les données au format XML. Inutile de dire que cela ne fonctionne pas. J'ai essayé d'utiliser XmlSerializer mais il des erreurs quand je l'importer d'accès et / ou IE. Pour en revenir à la case 1 ... Est-il possible de remplir un DS d'un DGV ou est-il un moyen d'écriture selon document en utilisant uniquement les données DGV. Note: DGV = DataGridView

UPDATE

Après avoir réfléchi à ce sujet pendant un certain temps, je compris que je pouvais faire une contre incrément pour chaque caractère entré à l'événement TextChanged et de là faire ce que je voulais ... avais chiffre go ...

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
    }
}
Était-ce utile?

La solution

In my experience, most bar code scanners are treated as keyboard input. The numbers will come in followed by a control character (usually CRLF or tab but you will need to check with your scanner to see what character it is using). You can then use the KeyDown or TextChanged events to look at the input and if it is the control character perform your updating logic.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top