Hinzufügen von Cell-Steuerelementen in Arbeitsblättern
Einführung
Derzeit unterstützt Aspose.Cells.GridDesktop das Hinzufügen von drei Arten von Zellsteuerelementen, darunter die folgenden:
- Knopf
- Kontrollkästchen
- Kombinationsfeld
Alle diese Steuerelemente werden von einer abstrakten Klasse abgeleitet,CellControlJedes Arbeitsblatt enthält eine Sammlung vonKontrollen. Über diese können neue Zellensteuerungen hinzugefügt und auf vorhandene zugegriffen werdenKontrollenAbholung problemlos.
**WICHTIG:**Wenn Sie allen Zellen einer Spalte Zellsteuerelemente hinzufügen möchten, anstatt sie einzeln hinzuzufügen, können Sie auf verweisenVerwalten von Cell-Steuerelementen in Spalten.
Schaltfläche hinzufügen
Um dem Arbeitsblatt mit Aspose.Cells.GridDesktop eine Schaltfläche hinzuzufügen, führen Sie bitte die folgenden Schritte aus:
- Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
- Greifen Sie beliebig zuArbeitsblatt
- AddierenKnopfzumKontrollenSammlung derArbeitsblatt
Beim HinzufügenKnopf, können wir die Position der Zelle (wo sie angezeigt werden soll), Breite und Höhe sowie die Beschriftung der Schaltfläche angeben.
Ereignisbehandlung der Schaltfläche
Wir haben über das Hinzufügen gesprochenKnopfKontrolle an dieArbeitsblattAber was ist der Vorteil, nur eine Schaltfläche im Arbeitsblatt zu haben, wenn wir sie nicht verwenden können? Hier kommt also die Notwendigkeit der Ereignisbehandlung der Schaltfläche.
Um die zu handhabenKlickenVeranstaltung derKnopfSteuerung, Aspose.Cells.GridDesktop bietetCellButtonClickEreignis, das von den Entwicklern nach ihren Bedürfnissen implementiert werden sollte. Zum Beispiel haben wir gerade eine Nachricht angezeigt, wenn auf die Schaltfläche geklickt wird, wie unten gezeigt:
Festlegen eines Hintergrundbilds für das Schaltflächen-Steuerelement
Wir können Hintergrundbild/Bild für das Schaltflächensteuerelement mit seiner Beschriftung/Text festlegen, wie im folgenden Code gezeigt:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = Utils.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Set the image. | |
Image image = Image.FromFile(dataDir + @"AsposeLogo.jpg"); | |
button.Image = image; |
WICHTIG:Alle Ereignisse von Zellsteuerungen enthalten aCellControlEventArgsArgument, das die Zeilen- und Spaltennummern der Zelle bereitstellt, die das Zellsteuerelement enthält (dessen Ereignis ausgelöst wird).
Kontrollkästchen hinzufügen
Um ein Kontrollkästchen mit Aspose.Cells.GridDesktop in das Arbeitsblatt einzufügen, führen Sie bitte die folgenden Schritte aus:
- Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
- Greifen Sie beliebig zuArbeitsblatt
- AddierenKontrollkästchenzumKontrollenSammlung derArbeitsblatt
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the worksheet of the Grid that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Accessing the location of the cell that is currently in focus | |
CellLocation cl = sheet.GetFocusedCellLocation(); | |
// Adding checkbox to the Controls collection of the Worksheet | |
sheet.Controls.AddCheckBox(cl.Row, cl.Column, true); |
Beim HinzufügenKontrollkästchen, können wir die Position der Zelle (wo sie angezeigt werden soll) und den Status des Kontrollkästchens angeben.
Ereignisbehandlung von CheckBox
Aspose.Cells.GridDesktop bietetCellCheckedChangedEreignis, das ausgelöst wird, wenn dieGeprüftStatus des Kontrollkästchens wird geändert. Entwickler können dieses Ereignis gemäß ihren Anforderungen handhaben. Zum Beispiel haben wir gerade eine Nachricht angezeigt, um die anzuzeigenGeprüftStatus des Kontrollkästchens im folgenden Code:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Implenting CellCheckedChanged event handler | |
private void gridDesktop1_CellCheckedChanged(object sender, CellControlEventArgs e) | |
{ | |
// Getting the reference of the CheckBox control whose event is triggered | |
Aspose.Cells.GridDesktop.CheckBox check = (Aspose.Cells.GridDesktop.CheckBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column]; | |
// Displaying the message when the Checked state of CheckBox is changed | |
MessageBox.Show("Current state of CheckBox is " + check.Checked); | |
} |
ComboBox hinzufügen
Um eine Combobox mit Aspose.Cells.GridDesktop zum Arbeitsblatt hinzuzufügen, führen Sie bitte die folgenden Schritte aus:
- Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
- Greifen Sie beliebig zuArbeitsblatt
- Erstellen Sie ein Array von Elementen (oder Werten), denen hinzugefügt wirdKombinationsfeld
- AddierenKombinationsfeldzumKontrollenSammlung derArbeitsblattdurch Angabe der Position der Zelle (wo das Kombinationsfeld angezeigt wird) und der Elemente/Werte, die angezeigt werden, wenn auf das Kombinationsfeld geklickt wird
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the worksheet of the Grid that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Accessing the location of the cell that is currently in focus | |
CellLocation cl = sheet.GetFocusedCellLocation(); | |
// Creating an array of items or values that will be added to combobox | |
string[] items = new string[3]; | |
items[0] = "Aspose"; | |
items[1] = "Aspose.Grid"; | |
items[2] = "Aspose.Grid.Desktop"; | |
// Adding combobox to the Controls collection of the Worksheet | |
sheet.Controls.AddComboBox(cl.Row, cl.Column, items); |
Ereignisbehandlung von ComboBox
Aspose.Cells.GridDesktop bietetCellSelectedIndexChangedEreignis, das ausgelöst wird, wenn dieAusgewählter Indexder Combobox geändert. Entwickler können dieses Ereignis nach ihren Wünschen handhaben. Zum Beispiel haben wir gerade eine Nachricht angezeigt, um die anzuzeigenAusgewähltes Objektder Combobox:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Implenting CellSelectedIndexChanged event handler | |
private void gridDesktop1_CellSelectedIndexChanged(object sender, CellComboBoxEventArgs e) | |
{ | |
// Getting the reference of the ComboBox control whose event is triggered | |
Aspose.Cells.GridDesktop.ComboBox combo = | |
(Aspose.Cells.GridDesktop.ComboBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column]; | |
// Displaying the message when the Selected Index of ComboBox is changed | |
MessageBox.Show(combo.Items[combo.SelectedIndex].ToString()); | |
} |