Привязка рабочего листа к набору данных с помощью конструктора рабочих листов GridWebs
Связывание рабочего листа с базой данных с помощью Worksheets Designer
**Шаг 1: Создание образца базы данных**
- Сначала мы создадим образец базы данных, который будет использоваться в этой статье. Мы используем Microsoft Access для создания базы данных, содержащей таблицу с названием Products. Его схема показана ниже. Информация о дизайне таблицы «Продукты»
- В таблицу «Продукты» добавлено несколько фиктивных записей. Записи в таблице «Товары»
Шаг 2: Разработка примера приложения
Веб-приложение ASP.NET создается и разрабатывается в Visual Studio.NET, как показано ниже. Образец разработанного приложения
Шаг 3. Подключение к базе данных с помощью обозревателя серверов
Пришло время подключиться к базе данных. Мы можем сделать это легко, используя Server Explorer в Visual Studio.NET.
- ВыбиратьПодключение для передачи данных вОбозреватель серверов и щелкните правой кнопкой мыши.
- ВыбиратьДобавить соединение из меню. Выбор опции «Добавить соединение»
Отображается диалоговое окно Свойства канала передачи данных. Диалоговое окно «Свойства канала передачи данных»
С помощью этого диалога вы можете подключиться к любой базе данных. По умолчанию он позволяет подключаться к базе данных SQL Server. В этом примере нам нужно подключиться к базе данных Access Microsoft.
- Нажмите наПровайдер вкладка
- ВыбиратьMicrosoft Поставщик Jet 4.0 OLE DB отПоставщик(и) OLE DB список.
- НажмитеСледующий. Нажмите «Далее» после выбора поставщика OLE DB.
Связь вкладка открыта.
- Выберите файл базы данных Access Microsoft (в нашем случае db.mdb) и нажмитеХОРОШО. Нажатие кнопки OK после выбора файла базы данных
Шаг 4. Графическое создание объектов подключения к базе данных
- Просмотрите таблицы в базе данных с помощьюОбозреватель серверов. Есть только одна таблица, Продукты.
- Перетащите таблицу «Продукты» изОбозреватель серверов кВеб-форма. Перетаскивание таблицы «Продукты» из обозревателя серверов в веб-форму
Может появиться диалоговое окно. Диалоговое окно для подтверждения включения пароля базы данных в строку подключения
Решите, хотите ли вы включить пароль базы данных в строку подключения или нет. Для этого примера мы выбралиНе включать пароль. Созданы и добавлены два объекта подключения к базе данных (oleDbConnection1 и oleDbDataAdapter1). Объекты подключения к базе данных (oleDbConnection1 и oleDbDataAdapter1), созданные и отображаемые
Шаг 5: Создание набора данных
До сих пор мы создали объекты подключения к базе данных, но нам все еще нужно где-то хранить данные после подключения к базе данных. Объект DataSet может точно хранить данные, и мы также можем легко сгенерировать его с помощью VS.NET IDE.
- Выбиратьоледбдатаадапер1 и щелкните правой кнопкой мыши.
- ВыбиратьСоздать набор данных вариант из меню. Выбор параметра «Создать набор данных»
Отображается диалоговое окно «Создать набор данных». Здесь можно выбрать имя для создаваемого нового объекта DataSet и таблицы, которые следует к нему добавить.
- ВыберитеДобавьте этот набор данных в дизайнер вариант.
- НажмитеХОРОШО. Нажатие кнопки OK для создания DataSet
В дизайнер добавлен объект dataSet11. Набор данных создан и добавлен в конструктор
Шаг 6: Использование конструктора рабочих листов
Теперь пришло время открыть секрет.
- Выберите элемент управления GridWeb и щелкните правой кнопкой мыши.
- ВыбиратьДизайнер рабочих листов вариант из меню.
Выбор опции «Конструктор рабочих листов»
Отображается редактор коллекции рабочих листов (также называемый дизайнером рабочих листов). Диалоговое окно «Редактор коллекции рабочих листов»
Диалоговое окно содержит несколько свойств, которые можно настроить для привязки Sheet1 к любой таблице в базе данных.
- ВыберитеИсточник данных имущество. Объект dataSet11, сгенерированный на предыдущем шаге, указан в меню.
- Выберите набор данных11.
- Нажмите наDataMember имущество. Конструктор рабочих листов автоматически показывает список таблиц в dataSet11. Есть только одна таблица, Продукты.
- Выберите таблицу «Продукты». Установка свойств DataSource и DataMember
- ПроверитьБиндКолонкс имущество. Щелчок по свойству BindColumns
Нажав наБиндКолонкс Свойство открывает редактор коллекции BindColumn. Редактор коллекций BindColumn
В редакторе коллекции BindColumn все столбцыПродукты table автоматически добавляются в коллекцию BindColumns.
- Выберите любой столбец и настройте его свойства. Например, вы можете изменить заголовок каждого столбца. Изменение заголовка столбца ProductID
- После внесения изменений нажмитеХОРОШО.
- Закройте все диалоги, нажавХОРОШО. Наконец, вы вернетесь на страницу WebForm1.aspx. Возврат на страницу WebForm1.aspx после использования конструктора рабочих листов
Выше показано имя столбца таблицы «Продукты». Ширина столбцов мала, поэтому полные названия некоторых столбцов видны не полностью.
Шаг 7: Добавление кода в обработчик событий Page_Load
Мы воспользовались конструктором рабочих листов и теперь просто должны добавить код в обработчик событий Page_Load для заполнения объекта dataSet11 данными из базы данных (используя oleDbDataAdapter1) и привязки элемента управления GridWeb к dataSet11 путем вызова его метода DataBind.
- Добавьте код:
C#
//Implementing Page_Load event handler
private void Page_Load(object sender, System.EventArgs e)
{
//Checking if there is not any PostBack
if (!IsPostBack)
{
try
{
//Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11);
//Binding GridWeb with DataSet
GridWeb1.DataBind();
}
finally
{
//Finally, closing database connection
oleDbConnection1.Close();
}
}
}
VB.NET
'Implementing Page_Load event handler
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Checking if there is not any PostBack
If Not IsPostBack Then
Try
'Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11)
'Binding GridWeb with DataSet
GridWeb1.DataBind()
Finally
'Finally, closing database connection
oleDbConnection1.Close()
End Try
End If
End Sub
- Проверьте код, добавленный в обработчик событий Page_Load. Код добавлен в обработчик событий Page_Load
Шаг 8: Запуск приложения
Скомпилируйте и запустите приложение: либо нажмитеCtrl+F5 или нажмитеНачинать. Запуск приложения
После компиляции в окне браузера открывается страница WebForm1.aspx со всеми данными, загруженными из базы данных. Данные, загруженные в элемент управления GridWeb из базы данных
Работа с элементом управления GridWeb
Когда данные загружаются в элемент управления GridWeb, он предоставляет пользователям контроль над данными. GridWeb предлагает ряд различных типов функций манипулирования данными.
Валидация данных
Aspose.Cells.GridWeb автоматически создает соответствующие правила проверки для всех связанных столбцов в соответствии с типами данных, определенными в базе данных. Просмотрите тип проверки ячейки, наведя на нее курсор. Проверка типа проверки ячейки
Здесь выбранная ячейка содержит**
Удаление строк
Чтобы удалить строку, выберите строку (или любую ячейку в строке), щелкните правой кнопкой мыши и выберитеУдалить строку. Выбор опции Удалить строку из меню
Строка будет удалена мгновенно. Данные сетки (после удаления строки)
Редактирование строк
Отредактируйте данные в ячейках или строках, а затем щелкнитеСохранять или жеПредставлять на рассмотрение чтобы сохранить изменения.
Добавление строк
- Чтобы добавить строку, щелкните ячейку правой кнопкой мыши и выберитеДобавить ряд. Выбор опции «Добавить строку» в меню
Новая строка добавляется на лист в конце других строк. В сетку добавлена новая строка
Слева от новой строки стоит звездочка , указывая на то, что строка новая.
- Добавьте значения в новую строку.
- НажмитеСохранять или жеПредставлять на рассмотрение чтобы подтвердить изменение. Сохранение изменений в данных нажатием кнопки Сохранить кнопка
Настройка числового формата
На данный момент цены вЦена продукта столбец отображаются в виде числовых значений. Можно сделать их похожими на валюту.
- Вернитесь в Visual Studio.NET.
- Откройте редактор коллекции BindColumn. Тип номера собственностьЦена продукта столбец настроен наОбщий. Для свойства NumberType задано значение General.
- НажмитеВыпадающий список и выберитеВалюта4 из списка. Свойство NumberType изменено на Currency4.
- Запустите приложение еще раз. Значения вЦена продукта столбец теперь является валютой. Цены на товары в валюте Числовой формат
Редактирование данных
Приложение пока позволяет своим пользователям только просматривать табличные данные. Пользователи могут редактировать данные в элементе управления GridWeb, но при закрытии браузера и открытии базы данных ничего не меняется. Внесенные изменения не сохраняются в базе данных.
В следующем примере в приложение добавляется код, чтобы GridWeb мог сохранять изменения в базе данных.
- ОткрытьХарактеристики и выберите из списка событие SaveCommand элемента управления GridWeb. Выбор события SaveCommand GridWeb
- Дважды щелкнитеСохранитьКоманда событие, а VS.NET создает обработчик событий GridWeb1_SaveCommand.
- Добавьте в этот обработчик событий код, который будет обновлять базу данных любыми измененными данными в наборе данных, привязанном к рабочему листу с помощью oleDbDataAdapter1.
C#
//Implementing the event handler for SaveCommand event
private void GridWeb1_SaveCommand(object sender, System.EventArgs e)
{
try
{
//Getting the modified data of worksheet as a DataSet
DataSet dataset = (DataSet)GridWeb1.WebWorksheets[0].DataSource;
//Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset);
}
finally
{
//Closing database connection
oleDbConnection1.Close();
}
}
VB.NET
'Implementing the event handler for SaveCommand event
Private Sub GridWeb1_SaveCommand(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridWeb1.SaveCommand
Try
'Getting the modified data of worksheet as a DataSet
Dim dataset As DataSet = CType(GridWeb1.WebWorksheets(0).DataSource, DataSet)
'Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset)
Finally
'Closing database connection
oleDbConnection1.Close()
End Try
End Sub
Вы также можете проверить код, добавленный в обработчик событий GridWeb1_SaveCommand. Код, добавленный в обработчик событий GridWeb1_SaveCommand
Сохраните изменения в базе данных с помощьюСохранять кнопка теперь определенно сохраняет их.