Добавление элементов управления Cell в рабочие листы
Вступление
В настоящее время Aspose.Cells.GridDesktop поддерживает добавление трех типов элементов управления ячейками, включая следующие:
- Кнопка
- Флажок
- Поле со списком
Все эти элементы управления являются производными от абстрактного класса,Сотовый контрольКаждый рабочий лист содержит наборЭлементы управления. Можно добавить новые элементы управления ячейками, а к существующим можно получить доступ с помощью этогоЭлементы управлениясбор легко.
**ВАЖНЫЙ:**Если вы хотите добавить элементы управления ячейками во все ячейки столбца вместо добавления по одному, вы можете обратиться кУправление элементами управления Cell в столбцах.
Добавление кнопки
Чтобы добавить кнопку на лист с помощью Aspose.Cells.GridDesktop, выполните следующие действия:
- Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
- Доступ к любому желаемомуРабочий лист
- ДобавлятьКнопкакЭлементы управленияколлекцияРабочий лист
При добавленииКнопка, мы можем указать расположение ячейки (где ее отображать), ширину и высоту и заголовок кнопки.
Обработка событий кнопки
Мы обсуждали добавлениеКнопкаконтроль надРабочий листно в чем преимущество наличия кнопки на листе, если мы не можем ее использовать. Итак, здесь возникает необходимость обработки событий кнопки.
Чтобы справиться сНажмитесобытиеКнопкауправления, Aspose.Cells.GridDesktop предоставляетЯчейкаКнопкаНажмитесобытие, которое разработчики должны реализовать в соответствии со своими потребностями. Например, мы только что отобразили сообщение при нажатии кнопки, как показано ниже:
Указание фонового изображения для элемента управления «Кнопка»
Мы можем установить фоновое изображение/изображение для кнопки с ее меткой/текстом, как показано в коде ниже:
// 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; |
ВАЖНЫЙ:Все события элементов управления ячейкой содержатCellControlEventArgsаргумент, предоставляющий номера строк и столбцов ячейки, содержащей элемент управления ячейкой (событие которого запускается).
Добавление флажка
Чтобы добавить флажок на лист с помощью Aspose.Cells.GridDesktop, выполните следующие действия:
- Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
- Доступ к любому желаемомуРабочий лист
- ДобавлятьФлажоккЭлементы управленияколлекцияРабочий лист
// 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); |
При добавленииФлажок, мы можем указать расположение ячейки (где ее отображать) и состояние флажка.
Обработка событий CheckBox
Aspose.Cells.GridDesktop предоставляетCellCheckedChangedсобытие, которое срабатывает, когдаПровереносостояние флажка изменилось. Разработчики могут обрабатывать это событие в соответствии со своими требованиями. Например, мы только что отобразили сообщение, чтобы показатьПровереносостояние флажка в коде ниже:
// 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); | |
} |
Добавление поля со списком
Чтобы добавить поле со списком на лист с помощью Aspose.Cells.GridDesktop , выполните следующие действия:
- Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
- Доступ к любому желаемомуРабочий лист
- Создайте массив элементов (или значений), которые будут добавлены вПоле со списком
- ДобавлятьПоле со спискомкЭлементы управленияколлекцияРабочий листуказав местоположение ячейки (где будет отображаться поле со списком) и элементы/значения, которые будут отображаться при нажатии на поле со списком
// 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); |
Обработка событий ComboBox
Aspose.Cells.GridDesktop предоставляетCellSelectedIndexChangedсобытие, которое срабатывает, когдаВыбранный индексвыпадающего списка изменен. Разработчики могут обрабатывать это событие по своему желанию. Например, мы только что отобразили сообщение, чтобы показатьВыбранный элементиз выпадающего списка:
// 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()); | |
} |