Aktuelle Zelle gesetzt werden kann um eine unsichtbare Zelle in datagridview
Stehe ich vor einem problem im datagridview. Ich habe schon einige code im keydown-Ereignis für die änderung der tab-Fokus, aber wenn der Reiter erreicht die Letzte Spalte gibt es einen Fehler
"Aktuelle Zelle gesetzt werden kann um eine unsichtbare Zelle".
Habe ich aus der letzten Zelle ist unsichtbar, weil ich nicht wollen, sichtbar zu sein, die Zelle.
Ich geschrieben habe folgenden code im KeyDown-Ereignis
private void m3dgvDepositDetails_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Tab && notlastColumn)
{
e.SuppressKeyPress = true;
int iColumn = m3dgvDepositDetails.CurrentCell.ColumnIndex;
int iRow = m3dgvDepositDetails.CurrentCell.RowIndex;
if (iColumn == m3dgvDepositDetails.Columns.Count - 1)
m3dgvDepositDetails.CurrentCell = m3dgvDepositDetails[0, iRow + 1];
else
m3dgvDepositDetails.CurrentCell = m3dgvDepositDetails[iColumn + 1, iRow];
}
}
catch (Exception ex)
{
CusException cex = new CusException(ex);
cex.Show(MessageBoxIcon.Error);
}
}
- Gibt es ausgeblendete Spalten in der grid, nach der letzten sichtbaren Spalte?
- Ich habe aus der letzten Zelle ist unsichtbar, weil ich nicht wollen, sichtbar zu sein, die Zelle.
- so sollten Sie verwenden
if (iColumn >= m3dgvDepositDetails.Columns.Count - 2)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Fehler ist ziemlich selbsterklärend: Sie setzen die
CurrentCell
wie eine unsichtbare Zelle, und es ist verboten, das bedeutet, dass die Zelle in der Zeile oder der Zelle Spalte ausgeblendet ist. Um dies zu vermeiden, nicht ausblenden von Zeilen/Spalten, oder überprüfen Sie dieVisible
- Eigenschaft, bevor Sie die Einstellung derCurrentCell
.Wenn das problem ist die Letzte Spalte, die Sie verwenden sollten:
Dieser Fehler tritt auf, wenn Sie versuchen, wählen Sie eine ausgeblendete Zelle. Auch sollten Sie nicht setzen Zeilen unsichtbar in ein datagridview, da es bugs hat.
Eine Lösung wäre, anstatt die Zeile unsichtbar, nur die Daten filtern, die Quelle und Holen nur die Datensätze, die Sie wollen. Diese werden langsam, aber gedient werden kann, als ein workaround.
ODER
Können Sie versuchen, mithilfe der folgenden (Nicht getestet)