KontextMenü im DataGrid

27/06/2009 - 07:50 von Jakob Brunner, Luzern Switzerland | Report spam
Salü zàme
Ich möchte an einem DataGriedView eine Kontextmenü zur Verfügung stellen.
Dies soll aber nur in den Header-Zellen angezeigt werden bzw. zwischen
Header-Zellen und den übrigen Zellen kann ein anderes Kobtextmenü gelten.
Wenn ich die Standard-Möglichkeit im DataGridView verwende und den Name des
Kontext-Meüs in den Eigenschaften angebe, so scheint mir, habe ich keine
Möglichkeiten mehr, das erscheinen dieses Menü zu steuern.
Ist dem so? Muss ich nun die Steuerung des Kontextmenüs ausprogramieren,
beginnend vom Event "rechte Maustaste gedrückt"?

Wer weiss Rat, wer hat Erfahrungem? Vielen Dank
Gruss
Jakob Brunner, Switzerland
 

Lesen sie die antworten

#1 Frank Dzaebel
27/06/2009 - 09:37 | Warnen spam
Hallo Jakob,

Ich möchte an einem DataGriedView eine Kontextmenü
zur Verfügung stellen. Dies soll aber nur in den Header-
Zellen angezeigt werden [...]



Das kannst Du sehr flexibel, dediziert und einfach machen.
Hier ein Beispiel, wo die HeaderCell's das Kontext-Menü1
bekommen, und die anderen das Kontext-Menü2.

DataGridView dgv = new DataGridView();

private void Form1_Load(object sender, EventArgs e)
{
Controls.Add(dgv);
dgv.Dock = DockStyle.Fill;
dgv.Columns.Add("Spalte1", "Spalte1");
dgv.Columns.Add("Spalte2", "Spalte2");
dgv.Rows.Add("Wert00", "Wert01");
dgv.Rows.Add("Wert10", "Wert11");
foreach (DataGridViewColumn col in dgv.Columns)
col.HeaderCell.ContextMenuStrip = contextMenuStrip1;
dgv.ContextMenuStrip = contextMenuStrip2;
dgv.TopLeftHeaderCell.ContextMenuStrip = contextMenuStrip1;
}



Muss ich nun die Steuerung des Kontextmenüs
ausprogramieren, beginnend vom Event "rechte
Maustaste gedrückt"?



nein.

BTW, ggf. interessant:

[Building a Drop-Down Filter List for a DataGridView Column Header Cell]
http://msdn.microsoft.com/en-us/lib...80727.aspx


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

Ähnliche fragen