DataGridViewCell: als Index kann kein enum verwendet werden

10/10/2008 - 11:07 von Alberto Luca | Report spam
Hallo NewsGroup,

ich möchte eine Cell in einem DGV mittels Index ansprechen.
Den Index möchte ich in einem enum definieren, also anstatt [0] möchte ich
[enum.name] verwenden.

Wie kann ich das erreichen?

Coding:
private enum Cell_dgvLocal_BiGVermittlerNr
{ BiGNr,
PoolID }

x = this.dgvLocal_BiGVermittlerNr.Rows[i].Cells
[Cell_dgvLocal_BiGVermittlerNr.BiGNr].Value;

Fehler:
Fehler 6 Die beste Übereinstimmung für die überladene
System.Windows.Forms.DataGridViewCellCollection.this[int]-Methode hat einige
ungültige Argumente.
D:\Projekte_AL\eBiG_Control\eBiG_Control\frmCustomerBiG.cs 698 59
eBiG_Control

Fehler 7 1-Argument: kann nicht von
"eBiG_Control.frmCustomerBiG.Cell_dgvLocal_BiGVermittlerNr" in "int"
konvertiert werden.
D:\Projekte_AL\eBiG_Control\eBiG_Control\frmCustomerBiG.cs 698 104
eBiG_Control


Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Frank Dzaebel
10/10/2008 - 11:48 | Warnen spam
Hallo Alberto,

x = this.dgvLocal_BiGVermittlerNr.Rows[i].Cells
[...] ergibt: Fehler 6 Die beste Übereinstimmung ...



Besser "casten":

x = dgv.Rows[j].Cells[(int)
Cell_dgvLocal_BiGVermittlerNr.BiGNr].Value;

___________
Oder ohne Cast:

x = dgv.Rows[j].Cells[CellBigVermittler.BiGNr].Value;
}

class CellBigVermittler
{
/// <summary>...Beschreibung0 ...</summary>
static public int BiGNr = 0;

/// <summary>... Beschreibung1 ...</summary>
static public int PoolID = 1;
}

__________
oder:

Gleich ein typsicheres DataSet benutzen
und die Eigenschaft ...->Ordinal benutzen.

__________
oder:

über die DataPropertyName-Eigenschaft:

[Typsichere Eigenschaften bei Datenbindung]
http://dzaebel.net/TypesafeProps.htm

Beachte auch, dass eine DataGridViewColumn
gar nicht angezeigt sein muss. Insofern
sollte man über den DisplayIndex gehen.

etc. ...


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen