ppsGrid Class Library
Control Property
NamespacesppsGridControlEditInfoControl
ppsGrid (c] 2004-2007 by Torsten Oberprieler
Ruft das Steuerelement zum Editieren der Daten ab, oder legt dieses fest.
Declaration Syntax
C#Visual BasicVisual C++
public Control Control{ get; set;}
Public Property Control As Control
public:
property Control^ Control {
	Control^ get ();
	void set (Control^ value);
}
Value
Ein Control, das die Daten für die Zelle editieren kann.
Remarks
Das angegebene Steuerlement übernimmt für die Zellen das Editieren der Daten (Value-Eigenschaft). Sie können jedes von Control abgeleitete Steuerelement (einschl. UserControl und CustomControl) zum Editieren Ihrer Daten verwenden.

Die folgenden Eigenschaften des eingebundenen Steuerelements sollten Sie nicht mehr ändern:
  • Parent: Die Parent-Eigenschaft des Steuerelements wird mit dem ppsGrid verknüpft.
  • Location/Size: Die Position und Größe des Steuerelements wird (je nach DockStyle) verändert.
  • Visible: Die Sichtbarkeit wird vom ppsGrid für interne Optimierungen genutzt.
  • TabStop und TabIndex: Wird intern vom ppsGrid genutzt für BeginEdit, EndEdit und CancelEdit.


Beachten Sie bitte, daß das angegebene Steuerelement ausschließlich zum Editieren der Daten verwendet wird. Möchten Sie das Steuerelement zur Darstellung der Daten verwenden, benutzen Sie dafür das Objekt ControlDisplayInfo. Außerdem ist es wichtig, daß für die Darstellung und für das Editieren der Daten zwei verschiedene Instanzen des Steuerelements erstellt werden muß. Der folgende Code ist deshalb nicht zulässig:
CopyC#
ComboBox cbo = new ComboBox();             // neue ComboBox
grid.ControlDisplayInfo.Control = cbo;     // ..zur Anzeige verwenden
grid.ControlEditInfo.Control = cbo;        // ..und zum Editieren verwenden: FEHLER


Examples
Die nachfolgenden Beispiele soll die Arbeitsweise der Control-Eigenschaft im ControlEditInfo-Objekt verdeutlichen. Es werden 20 Zeilen erzeugt. Alle Zellen bekommen Zufallswerte. Das erste Beispiel enthält Text-Werte, die ohne Steuerelement dargestellt werden. Drücken Sie die Taste "F2", um die Texte abzuändern. Beispiel 2 enthält String-Werte, die durch ein ComboBox-Steuerlement dargestellt und geändert werden können.

Beispiel 1: TextBox zur Bearbeitung von Texten.
CopyC#
grid.AddCols(1);                                           // eine Spalte und...
grid.AddRows(20);                                          // ..20 Zeilen
grid.Rows[0].Fixed = true;                                 // ..oberste Zeile 'fixed'

Random    rnd = new Random();                              // Generator für Zufallswerte
Textbox   txt;                                             // CheckBox zur Darstellung der boolschen Werte

txt = new Textbox();                                       // TextBox zum Editieren erzeugen
txt.Dock = DockStyle.Fill;                                 // ..füllt die komplette Zelle
txt.BorderStyle = BorderStyle.None;                        // ..hat keinen Rahmen
txt.Multiline = true;                                      // ..mehrzeilig

grid.Cols[0].ControlEditInfo.Control = txt;                // Spalte 0: Daten zeigen durch TextBox
grid.Cols[0].ControlEditInfo.PropertyName = "Text";        // ..mittels der Eigenschaft "Text"

foreach(GridRow r in grid.Rows)                            // alle Zeilen
  if(r.Fixed == false)                                     // ..die nicht fixiert sind
    r[0].Value = RandomString(rnd,20);                     // ....Zufallswerte setzen



public static string RandomString(Random rnd,int max){     // kleine Methode zum Erzeugen von
  int    cnt = rnd.Next(max);                              // ..zufälligen Strings
  byte[] bff = new byte[max];
  for(int i = 0;i<cnt;i++)
    bff[i] = (byte)rnd.Next(97,97+26);
  return(Encoding.ASCII.GetString(bff,0,cnt));
 }


Beispiel 2: ComboBox zur Anzeige und Änderung von vorgegebenen String-Werten.
CopyC#
string[]  items = new String[]{
  "Gabi", "Thomas","Andreas","Torsten","Claus",          // Diese Werte in der ComboBox
  "Martina","Bettina","Manfred","Joachim","Peter"};      // ..zur Auswahl anbieten

grid.AddCols(1);                                         // eine Spalte und...
grid.AddRows(20);                                        // ..20 Zeilen
grid.Rows[0].Fixed = true;                               // ..oberste Zeile 'fixed'

Random    rnd = new Random();                            // Generator für Zufallswerte
ComboBox  cbo;                                           // ComboBox zur Darstellung der Items
GridCol   col=grid.Cols[0];                              // erste (und einzige) Spalte 

cbo = new ComboBox();                                    // ComboBox zur Darstellung erzeugen
cbo.Dock = DockStyle.Top;                                // ..am oberen Rand der Zelle zeigen
cbo.Items.AddRange(items);                               // ..Liste der Namen setzen
cbo.DropDownStyle = ComboBoxStyle.DropDownList;          // ..Modus: Nur Auswahl
col.ControlDisplayInfo.Control = cbo;                    // Spalte 0: Daten zeigen durch ComboBox
col.ControlDisplayInfo.PropertyName = "SelectedItem";    // ..mittels der Eigenschaft "SelectedItem"

cbo = new ComboBox();                                    // ComboBox zum editieren der Daten erzeugen
cbo.Dock = DockStyle.Top;                                // ..am oberen Rand der Zelle zeigen
cbo.Items.AddRange(items);                               // ..Liste der namen setzen
cbo.DropDownStyle = ComboBoxStyle.DropDownList;          // ..Modus: Nur Auswahl
col.ControlEditInfo.Control = cbo;                       // Daten ändern durch ComboBox
col.ControlEditInfo.PropertyName = "SelectedItem";       // ..mittels der Eigenschaft "SelectedItem"

foreach(GridRow r in grid.Rows)                          // alle Zeilen
  if(r.Fixed == false)                                   // ..die nicht fixiert sind
    r[0].Value = items[rnd.Next(items.Length)];          // ....string per Zufall auswählen und setzen
See Also

Assembly: ppsGrid (Module: ppsGrid) Version: 1.3.4.0