Привязка листа к набору данных с использованием конструктора листов GridWeb
Привязка листа к базе данных с использованием дизайнера Листов
**Шаг 1: Создание образца базы данных**
- Сначала мы создаем образец базы данных, который будет использоваться в этой статье. Мы используем Microsoft Access для создания базы данных, содержащей таблицу с названием Products. Ее схема показана ниже. Информация о дизайне таблицы Products
- В таблицу Products добавляется несколько фиктивных записей. Записи в таблице Products
Шаг 2: Проектирование образцового приложения
Веб-приложение ASP.NET создано и разработано в Visual Studio.NET, как показано ниже. Проектирование образцового приложения
Шаг 3: Подключение к базе данных с использованием Server Explorer
Пришло время подключиться к базе данных. Мы можем легко сделать это, используя Server Explorer в Visual Studio.NET.
- Выберите Data Connection в Server Explorer и щелкните правой кнопкой мыши.
- Выберите Add Connection в меню. Выбор опции Add Connection
Отображается диалоговое окно Свойств данных. Диалоговое окно Свойств данных
Используя этот диалоговое окно, вы можете подключиться к любой базе данных. По умолчанию он позволяет вам подключаться к базе данных SQL Server. Для этого примера нам нужно подключиться к базе данных Microsoft Access.
- Нажмите на вкладку Поставщик.
- Выберите Microsoft Jet 4.0 OLE DB Provider из списка Поставщиков OLE DB(s).
- Нажмите Далее. Щелкните Далее после выбора поставщика OLE DB
Открывается вкладка Подключение.
- Выберите файл базы данных Microsoft Access (в нашем случае db.mdb) и щелкните ОК. Щелкните кнопку ОК после выбора файла базы данных
Шаг 4: Создание объектов подключения к базе данных графически
- Просмотрите таблицы в базе данных с помощью Обозревателя сервера. Есть только одна таблица, Продукты.
- Перетащите таблицу Продукты из Обозревателя сервера на Веб-форму. Перетаскивание таблицы Продукты из Обозревателя сервера и отпускание на веб-форму
Может появиться диалоговое окно. Диалог для подтверждения включения пароля от базы данных в строке подключения
Решите, хотите ли вы включить пароль от базы данных в строку подключения или нет. В этом примере мы выбрали Не включать пароль. Были созданы и добавлены два объекта подключения к базе данных (oleDbConnection1 и oleDbDataAdapter1). Создано и отображено объекты подключения к базе данных (oleDbConnection1 & oleDbDataAdapter1)
Шаг 5: Генерация набора данных
До сих пор мы создали объекты подключения к базе данных, но все еще нужно где-то хранить данные после подключения к базе данных. Объект DataSet может хранить данные точно, и их также легко генерировать с помощью среды VS.NET.
- Выберите oleDbDataAdaper1 и щелкните правой кнопкой мыши.
- Выберите Сгенерировать набор данных из меню. Выбор опции Генерировать набор данных
Отображается диалоговое окно Генерировать набор данных. Здесь можно выбрать имя для нового объекта DataSet, который должен быть создан, и какие таблицы следует добавить к нему.
- Выберите опцию Добавить этот набор данных в дизайнер.
- Нажмите ОК. Щелкните кнопку ОК для создания DataSet
Объект dataSet11 добавлен в дизайнер. Набор данных создан и добавлен в дизайнер
Шаг 6: Использование конструктора рабочих листов
Теперь пришло время открыть секрет.
-
Выберите элемент управления GridWeb и нажмите правой кнопкой мыши.
-
Выберите опцию Конструктор рабочих листов из меню.
Выбор опции Конструктор рабочих листов
Отображается редактор коллекции рабочих листов (также называемый конструктором рабочих листов). Диалоговое окно Редактора коллекции рабочих листов
Диалоговое окно содержит несколько свойств, которые можно настроить для привязки Лист1 к любой таблице в базе данных.
- Выберите свойство ИсточникДанных. Объект dataSet11, созданный на предыдущем этапе, отображается в меню.
- Выберите dataSet11.
- Нажмите свойство DataMember. Пользовательский конструктор рабочих листов автоматически показывает список таблиц в dataSet11. Там есть только одна таблица, Products.
- Выберите таблицу Products. Настройка свойств DataSource и DataMember
- Проверьте свойство BindColumns. Нажатие на свойство BindColumns
Нажатие на свойство BindColumns открывает редактор коллекции BindColumn. Редактор коллекции BindColumn
В редакторе коллекции BindColumn все столбцы таблицы Products автоматически добавляются в коллекцию BindColumns.
- Выберите любой столбец и настройте его свойства. Например, вы можете изменить подпись каждого столбца. Изменение подписи столбца ProductID
- После внесения изменений нажмите OK.
- Закройте все диалоговые окна, нажав OK. Наконец, вы вернетесь на страницу WebForm1.aspx. Возвращение на страницу WebForm1.aspx после использования конструктора рабочих листов
Выше показаны названия столбцов таблицы Products. Ширина столбцов мала, поэтому полные названия некоторых столбцов не полностью видны.
Шаг 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 или щелкните Start. Запуск приложения
После компиляции страница WebForm1.aspx открывается в окне браузера со всеми данными, загруженными из базы данных. Данные загружены в элемент управления GridWeb из базы данных
Работа с элементом управления GridWeb
Когда данные загружаются в элемент управления GridWeb, пользователи получают возможность управлять данными. GridWeb предлагает ряд различных функций манипуляции данными.
Валидация данных
Aspose.Cells.GridWeb автоматически создает соответствующие правила валидации для всех привязанных столбцов в соответствии с типами данных, определенными в базе данных. Узнайте тип валидации ячейки, наведя указатель мыши на нее. Проверка типа валидации ячейки
Here, the selected cell contains the
Удаление строк
Чтобы удалить строку, выберите строку (или любую ячейку в строке), щелкните правой кнопкой мыши и выберите Удалить строку. Выбор опции Удалить строку из меню
Строка будет немедленно удалена. Данные элемента управления после удаления строки
Редактирование строк
Отредактируйте данные в ячейках или строках, а затем нажмите Сохранить или Отправить для сохранения изменений.
Добавление строк
- Чтобы добавить строку, щелкните правой кнопкой мыши по ячейке и выберите Добавить строку. Выбор опции Добавить строку из меню
Новая строка добавляется в лист в конец других строк. Добавлена новая строка в таблицу
At the left of the new row is an asterisk , indicating that the row is new.
- Добавьте значения в новую строку.
- Нажмите Сохранить или Отправить, чтобы подтвердить изменение. Сохранение изменений в данных, нажав кнопку Сохранить
Настройка числового формата
В данный момент цены в столбце Цена продукта отображаются как числовые значения. Их можно преобразовать в вид валюты.
- Вернитесь в Visual Studio.NET.
- Откройте редактор сборки BindColumn. Свойство NumberType столбца Цена продукта установлено на Общий. Свойство NumberType установлено на Общий
- Нажмите DropDownList и выберите Currency4 из списка. Свойство NumberType изменено на Валюта4
- Запустите приложение снова. Значения в столбце Цена продукта теперь отображаются как валюта. Цены продуктов в формате числа валюты
Редактирование данных
До сих пор приложение позволяет своим пользователям только просматривать данные таблицы. Пользователи могут редактировать данные в элементе управления GridWeb, но при закрытии браузера и открытии базы данных ничего не изменится. Внесенные изменения не сохраняются в базе данных.
В следующем примере добавляется код в приложение, чтобы GridWeb мог сохранять изменения в базе данных.
- Откройте панель Свойства и выберите событие SaveCommand элемента управления GridWeb из списка. Выбор события SaveCommand GridWeb
- Дважды щелкните событие SaveCommand, и VS.NET создаст обработчик события GridWeb1_SaveCommand.
- Добавьте код в этот обработчик событий, который будет обновлять базу данных с любыми измененными данными в DataSet, привязанном к рабочему листу с использованием 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.WorkSheets[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.WorkSheets(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
Сохранение изменений в базе данных с помощью кнопки Сохранить теперь точно сохраняет их.