C# DataGridView Rester Concentré sur le Dernier Enregistrement

J'ai un DataGridView où je suis numérisation de chèques à partir d'un clavier périphérique émulé.

Tout keypreview est sur et je suis en attente pour l'entrée, l'utilisateur ne peut pas taper quoi que ce soit dans le cas contraire, il l'attrapa par ma méthode pour lire l'entrée par le lecteur de chèques. Tout cela fonctionne très bien.

Après le scan, j'ajoute à la datagridview une ligne, qui est en cours de mise à la fin.

Comment puis-je faire le datagridview, faites défiler vers le bas après chaque ajout? Je me retrouve avec quelques centaines de vérifications et c'est au top. Donc, chaque fois qu'il analyse, ils n'ont aucune idée de ce qui a été numérisée en.

C'est ma méthode qui crée la ligne:

private void Timer1Tick(object sender, EventArgs e)
{
_secondswaited += 1;
if (_secondswaited == SecondsToWait)
{
timer1.Enabled = false;
var psc = new ParseScannedCheckNumbers();
if (psc.ParseCheck(_checkData))
{
label_Status.Text = @"Scan Next Check";
var ct = checkTrans.IndividualCheck.NewIndividualCheckRow();
ct.Date = DateTime.Now.ToShortDateString();
ct.AccountNumber = GetAccountNumber(psc.BankAccountNumber);
ct.Name = GetAccountName(ct.AccountNumber);
ct.AccountBalance = GetAccountBalance(ct.AccountNumber);
//ct.CheckAmount = 0;
ct.BankRoutingNumber = psc.BankRoutingNumber;
ct.BankAccountNumber = psc.BankAccountNumber;
ct.CheckNumber = psc.CheckNumber;
ct.Status = "Entered";
checkTrans.IndividualCheck.Rows.Add(ct);
var dgvcount = dgv_Checks.Rows.Count;
**dgv_Checks.Rows[dgvcount - 1].Selected = true;**       
}
else
{
label_Status.Text = @"Scan failed. Rescan check.";
}
_checkData = string.Empty;
_secondswaited = 0;
var rs = new Registry.RegistrySettings();
if (!rs.ScanChecksContinuous)
{
StopScanning();
label_Status.Text = @"Success!";
EditLastRowEntered();
}
label_ChecksScanned.Text = (dgv_Checks.RowCount - 1).ToString();
}
}

La partie qui est en gras est là que j'ai tenté d'aller à la dernière ligne, sans succès.

Merci!

  • Peut var être un int? Avez-vous vérifié tout simplement dgv_Checks.Rows[dgv_Checks.Rows.Count - 1].Selected = true;?
  • Quel message d'Erreur avez-vous?
  • Var est équivalent à int dans ce cas. Int ne va pas faire toute la différence. Je ne suis pas un message d'erreur. Il ne va pas à la fin de mon datagridview ou même le déplacement.
InformationsquelleAutor ErocM | 2011-04-21