Привязка листа к набору данных с использованием конструктора листов GridWeb

Привязка листа к базе данных с использованием дизайнера Листов

**Шаг 1: Создание образца базы данных**
  1. Сначала мы создаем образец базы данных, который будет использоваться в этой статье. Мы используем Microsoft Access для создания базы данных, содержащей таблицу с названием Products. Ее схема показана ниже. Информация о дизайне таблицы Products

todo:image_alt_text

  1. В таблицу Products добавляется несколько фиктивных записей. Записи в таблице Products

todo:image_alt_text

Шаг 2: Проектирование образцового приложения

Веб-приложение ASP.NET создано и разработано в Visual Studio.NET, как показано ниже. Проектирование образцового приложения

todo:image_alt_text

Шаг 3: Подключение к базе данных с использованием Server Explorer

Пришло время подключиться к базе данных. Мы можем легко сделать это, используя Server Explorer в Visual Studio.NET.

  1. Выберите Data Connection в Server Explorer и щелкните правой кнопкой мыши.
  2. Выберите Add Connection в меню. Выбор опции Add Connection

todo:image_alt_text

Отображается диалоговое окно Свойств данных. Диалоговое окно Свойств данных

todo:image_alt_text

Используя этот диалоговое окно, вы можете подключиться к любой базе данных. По умолчанию он позволяет вам подключаться к базе данных SQL Server. Для этого примера нам нужно подключиться к базе данных Microsoft Access.

  1. Нажмите на вкладку Поставщик.
  2. Выберите Microsoft Jet 4.0 OLE DB Provider из списка Поставщиков OLE DB(s).
  3. Нажмите Далее. Щелкните Далее после выбора поставщика OLE DB

todo:image_alt_text

Открывается вкладка Подключение.

  1. Выберите файл базы данных Microsoft Access (в нашем случае db.mdb) и щелкните ОК. Щелкните кнопку ОК после выбора файла базы данных

todo:image_alt_text

Шаг 4: Создание объектов подключения к базе данных графически

  1. Просмотрите таблицы в базе данных с помощью Обозревателя сервера. Есть только одна таблица, Продукты.
  2. Перетащите таблицу Продукты из Обозревателя сервера на Веб-форму. Перетаскивание таблицы Продукты из Обозревателя сервера и отпускание на веб-форму

todo:image_alt_text

Может появиться диалоговое окно. Диалог для подтверждения включения пароля от базы данных в строке подключения

todo:image_alt_text

Решите, хотите ли вы включить пароль от базы данных в строку подключения или нет. В этом примере мы выбрали Не включать пароль. Были созданы и добавлены два объекта подключения к базе данных (oleDbConnection1 и oleDbDataAdapter1). Создано и отображено объекты подключения к базе данных (oleDbConnection1 & oleDbDataAdapter1)

todo:image_alt_text

Шаг 5: Генерация набора данных

До сих пор мы создали объекты подключения к базе данных, но все еще нужно где-то хранить данные после подключения к базе данных. Объект DataSet может хранить данные точно, и их также легко генерировать с помощью среды VS.NET.

  1. Выберите oleDbDataAdaper1 и щелкните правой кнопкой мыши.
  2. Выберите Сгенерировать набор данных из меню. Выбор опции Генерировать набор данных

todo:image_alt_text

Отображается диалоговое окно Генерировать набор данных. Здесь можно выбрать имя для нового объекта DataSet, который должен быть создан, и какие таблицы следует добавить к нему.

  1. Выберите опцию Добавить этот набор данных в дизайнер.
  2. Нажмите ОК. Щелкните кнопку ОК для создания DataSet

todo:image_alt_text

Объект dataSet11 добавлен в дизайнер. Набор данных создан и добавлен в дизайнер

todo:image_alt_text

Шаг 6: Использование конструктора рабочих листов

Теперь пришло время открыть секрет.

  1. Выберите элемент управления GridWeb и нажмите правой кнопкой мыши.

  2. Выберите опцию Конструктор рабочих листов из меню.

    Выбор опции Конструктор рабочих листов

todo:image_alt_text

Отображается редактор коллекции рабочих листов (также называемый конструктором рабочих листов). Диалоговое окно Редактора коллекции рабочих листов

todo:image_alt_text

Диалоговое окно содержит несколько свойств, которые можно настроить для привязки Лист1 к любой таблице в базе данных.

  1. Выберите свойство ИсточникДанных. Объект dataSet11, созданный на предыдущем этапе, отображается в меню.
  2. Выберите dataSet11.
  3. Нажмите свойство DataMember. Пользовательский конструктор рабочих листов автоматически показывает список таблиц в dataSet11. Там есть только одна таблица, Products.
  4. Выберите таблицу Products. Настройка свойств DataSource и DataMember

todo:image_alt_text

  1. Проверьте свойство BindColumns. Нажатие на свойство BindColumns

todo:image_alt_text

Нажатие на свойство BindColumns открывает редактор коллекции BindColumn. Редактор коллекции BindColumn

todo:image_alt_text

В редакторе коллекции BindColumn все столбцы таблицы Products автоматически добавляются в коллекцию BindColumns.

  1. Выберите любой столбец и настройте его свойства. Например, вы можете изменить подпись каждого столбца. Изменение подписи столбца ProductID

todo:image_alt_text

  1. После внесения изменений нажмите OK.
  2. Закройте все диалоговые окна, нажав OK. Наконец, вы вернетесь на страницу WebForm1.aspx. Возвращение на страницу WebForm1.aspx после использования конструктора рабочих листов

todo:image_alt_text

Выше показаны названия столбцов таблицы Products. Ширина столбцов мала, поэтому полные названия некоторых столбцов не полностью видны.

Шаг 7: Добавление кода в обработчик события Page_Load

Мы использовали конструктор рабочих листов и теперь просто должны добавить код в обработчик события Page_Load для заполнения объекта dataSet11 данными из базы данных (с использованием oleDbDataAdapter1) и привязки элемента управления GridWeb к dataSet11, вызвав его метод DataBind.

  1. Добавьте код:

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
  1. Проверьте код, добавленный в обработчик события Page_Load. Код добавлен в обработчик события Page_Load

todo:image_alt_text

Шаг 8: Запуск приложения

Скомпилируйте и запустите приложение: нажмите Ctrl+F5 или щелкните Start. Запуск приложения

todo:image_alt_text

После компиляции страница WebForm1.aspx открывается в окне браузера со всеми данными, загруженными из базы данных. Данные загружены в элемент управления GridWeb из базы данных

todo:image_alt_text

Работа с элементом управления GridWeb

Когда данные загружаются в элемент управления GridWeb, пользователи получают возможность управлять данными. GridWeb предлагает ряд различных функций манипуляции данными.

Валидация данных

Aspose.Cells.GridWeb автоматически создает соответствующие правила валидации для всех привязанных столбцов в соответствии с типами данных, определенными в базе данных. Узнайте тип валидации ячейки, наведя указатель мыши на нее. Проверка типа валидации ячейки

todo:image_alt_text

Here, the selected cell contains the validation, which means that users can only enter integer values into it. If they enter another value, a validation error occurs. Moreover, shows that the value Product ID must be submitted.

Удаление строк

Чтобы удалить строку, выберите строку (или любую ячейку в строке), щелкните правой кнопкой мыши и выберите Удалить строку. Выбор опции Удалить строку из меню

todo:image_alt_text

Строка будет немедленно удалена. Данные элемента управления после удаления строки

todo:image_alt_text

Редактирование строк

Отредактируйте данные в ячейках или строках, а затем нажмите Сохранить или Отправить для сохранения изменений.

Добавление строк

  1. Чтобы добавить строку, щелкните правой кнопкой мыши по ячейке и выберите Добавить строку. Выбор опции Добавить строку из меню

todo:image_alt_text

Новая строка добавляется в лист в конец других строк. Добавлена новая строка в таблицу

todo:image_alt_text

At the left of the new row is an asterisk circle , indicating that the row is new.

  1. Добавьте значения в новую строку.
  2. Нажмите Сохранить или Отправить, чтобы подтвердить изменение. Сохранение изменений в данных, нажав кнопку Сохранить

todo:image_alt_text

Настройка числового формата

В данный момент цены в столбце Цена продукта отображаются как числовые значения. Их можно преобразовать в вид валюты.

  1. Вернитесь в Visual Studio.NET.
  2. Откройте редактор сборки BindColumn. Свойство NumberType столбца Цена продукта установлено на Общий. Свойство NumberType установлено на Общий

todo:image_alt_text

  1. Нажмите DropDownList и выберите Currency4 из списка. Свойство NumberType изменено на Валюта4

todo:image_alt_text

  1. Запустите приложение снова. Значения в столбце Цена продукта теперь отображаются как валюта. Цены продуктов в формате числа валюты

todo:image_alt_text

Редактирование данных

До сих пор приложение позволяет своим пользователям только просматривать данные таблицы. Пользователи могут редактировать данные в элементе управления GridWeb, но при закрытии браузера и открытии базы данных ничего не изменится. Внесенные изменения не сохраняются в базе данных.

В следующем примере добавляется код в приложение, чтобы GridWeb мог сохранять изменения в базе данных.

  1. Откройте панель Свойства и выберите событие SaveCommand элемента управления GridWeb из списка. Выбор события SaveCommand GridWeb

todo:image_alt_text

  1. Дважды щелкните событие SaveCommand, и VS.NET создаст обработчик события GridWeb1_SaveCommand.
  2. Добавьте код в этот обработчик событий, который будет обновлять базу данных с любыми измененными данными в 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

todo:image_alt_text

Сохранение изменений в базе данных с помощью кнопки Сохранить теперь точно сохраняет их.

Заключение