Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Благодарности 17 страница






Рис. 8-3. В проект добавлен компонент DataSet

Если после выполнения этой процедуры посмотреть исходный текст нашего приложения, то в нем появится поле dataSet1 для хранения идентификатора компонента, а также код инициализации компонента, приведенный ниже:

 

private System.Data.DataSet dataSet1;

this.dataSet1 = new System.Data.DataSet();

((System.ComponentModel.ISupportInitialize)
(this.dataSet1)).BeginInit();

//
// dataSet1
//
this.dataSet1.DataSetName = " NewDataSet";
this.dataSet1.Locale = new System.Globalization.CultureInfo(" ru-RU");

Как видите, объект DataSet создается с помощью конструктора класса System.Data.DataSet, не имеющего параметров.

Далее с помощью метода ISupportInitialize.BeginInit объекту передается сигнал о начале инициализации. Этот сигнал поможет объекту выполнить инициализацию своих свойств наиболее эффективным способом.

На данном этапе приложение устанавливает только два свойства — имя набора данных DataSetName и сведения о национальной культуре (локализации) Locale. Подробнее о национальных культурах читайте в [1].

Настройка свойств элемента управления DataSet

Для настройки свойств элемента управления DataSet выделите элемент dataSet1 мышью и воспользуйтесь окном редактирования свойств Properties, показанным на рис. 8-4.

Рис. 8-4. Свойства элемента управления DataSet

Рассмотрим наиболее важные свойства элемента управления DataSet.

Свойство DataSetName задает имя элемента управления. По умолчанию оно указано как NewDataSet, но Вы можете изменить его. Для нашего приложения, играющего роль заготовки простейшего органайзера, измените это имя на OrganizerDataSet.

Свойство Locale, как мы уже говорили, задает национальную культуру, для которой создается приложение. Выбор значения для этого свойства имеет критическое значение для правильного выполнения таких операций с базами данных, как, например, сортировка. К счастью, в списке значений для этого свойства присутствует большое количество национальных культур, в том числе и российская культура (рис. 8-5).

Рис. 8-5. Выбор значения для свойства Locale

Свойство Tables определяет набор таблиц, представленных данным элементом управления DataSet, а свойство Relations — отношения между этими таблицами (если они определены).

Установив значение свойства EnforceConstraints, равным False, можно отменить ограничения, заданные для таблиц набора данных DataSet.

Создание таблиц

Теперь нам нужно добавить в набор данных DataSet две таблицы. Первая таблица будет называться Contacts. Она предназначена для хранения имен и фамилий Ваших знакомых и партнеров. Вторая таблица с названием Phones будет хранить номера телефонов людей, чьи имена и фамилии хранятся в таблице Contacts.

Для создания таблиц отредактируйте свойство Tables при помощи редактора Tables Collection Editor. На рис. 8-6 мы показали окно этого редактора после создания таблиц Contacts и Phones.

Рис. 8-6. Редактор набора таблиц

Добавить новую таблицу можно при помощи кнопки Add, а удалить — при помощи кнопки Remove.

Каждая таблица имеет набор свойств, которые можно редактировать в правой части окна Tables Collection Editor. В частности, свойство Columns задает столбца таблицы, а свойство Constarints — ограничения.

В свойстве TableName таблицы контактов Contacts Вам необходимо задать название таблицы, как это показано на рис. 8-6. Измените также имя таблицы (в свойстве Name), заменив его именем contactsDataTable.

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

Рассмотрим программный код, создаваемый дизайнером форм при добавлении таблиц.

Идентификаторы таблиц хранятся в полях класса Form1 с именами contactsDataTable (таблица Contacts) и phonesDataTable (таблица Phones):

private System.Data.DataTable contactsDataTable;
private System.Data.DataTable phonesDataTable;

Как объекты наши две таблицы создаются при помощи конструкторов класса System.Data.DataTable:

this.contactsDataTable = new System.Data.DataTable();
this.phonesDataTable = new System.Data.DataTable();

Далее с помощью метода ISupportInitialize.BeginInit обеим таблицам передается сигнал о начале инициализации:

((System.ComponentModel.ISupportInitialize)
(this.contactsDataTable)).BeginInit();

((System.ComponentModel.ISupportInitialize)
(this.phonesDataTable)).BeginInit();

Созданные таблицы добавляются к элементу управления dataSet1 при помощи метода AddRange:

this.dataSet1.Tables.AddRange(
new System.Data.DataTable[]
{
this.contactsDataTable,
this.phonesDataTable
}
);

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

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

Создание столбцов

Для добавления столбцов в таблицу, а также для редактирования свойств столбцов открывается редактор Columns Collection Editor. На рис. 8-7 мы показали его окно после добавления в таблицу Contacts строк id, Имя и Фамилия.

Рис. 8-7. Столбец id таблицы Contacts

Добавление столбцов в таблицу выполняется при помощи кнопки Add, а удаление — кнопкой Remove.

Добавив три столбца, отредактируйте их свойства в правой половине окна редактора Columns Collection Editor.

Первый столбец с именем id предназначен для хранения уникального идентификатора записей таблицы Contacts. Запишите это имя в свойства Caption и ColumnName. Первое из этих свойств задает заголовок столбца, используемый при визуальном отображении, а второй — имя столбца.

Так как столбец id хранит номера, то в свойстве DataType, определяющем тип данных столбца, необходимо выбрать тип System.Int32. Возможные значения свойства DataType показаны на рис. 8-8. Как видите, здесь присутствуют все типы данных, допустимые в программах C#.

Рис. 8-8. Возможные значения свойства DataType

Чтобы столбец id мог хранить уникальные идентификаторы строк, необходимо выполнить некоторую дополнительную настройку его свойств.

Прежде всего, установите значение свойства Unique, равное True. Это обеспечит уникальность значений, хранящихся в данном столбце. При попытке добавить в таблицу строку с дубликатом значения столбца id в программе возникнет исключение.

Далее, программы не должны изменять явным образом значения, хранящиеся в столбце id. С этой целью необходимо записать в свойство ReadOnly константу True, защитив столбец от записи.

Если записать в свойство AutoIncrement константу True, при добавлении в таблицу новых строк текущее значение, хранящееся в столбце, будет автоматически увеличиваться на константу, записанную в свойстве AutoIncrementStep. Начальное значение для самой первой строки задается свойством AutoIncrementSeed.

Кроме того, мы запретили хранение в ячейках данного столбца пустых значений, установив значение свойства AllowDBNull равным False.

И, наконец, для простоты составления программ мы заменили имя столбца dataColumn1 именем idDataColumn.

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

При помощи свойства Expression можно создавать так называемые агрегированные столбцы (aggregate column). Ячейки таких столбцов могут содержать значения, вычисленные на базе значений из других ячеек.

Если столбец предназначен для хранения текстовых строк, то при помощи свойства MaxLength Вы сможете ограничить максимальную длину этих строк в символах. При этом значение –1 используется для снятия данного ограничения.

На рис. 8-9 мы показали настройку свойств строки Имя таблицы Contacts.

Рис. 8-9. Столбец Имя таблицы Contacts

Обратите внимание, что в свойстве DataType мы указали тип данных System.String, т.к. этот столбец хранит текстовые строки.

Чтобы не допустить создания записей с пустым именем, мы установили значение свойства AllowDBNull равным False.

Заголовок столбца, а также имя столбца, задаваемые, соответственно, свойствами Caption и ColumnName, мы заменили строкой Имя. Идентификатор столбца указан как fnDataColumn.

Остальные свойства столбца Имя мы оставили без изменения. Аналогичные настройки были выполнены и для столбца Фамилия. Идентификатор этого столбца — lnDataColumn.

Теперь мы займемся созданием таблицы Phones, хранящей номера телефонов. Свойства этой таблицы показаны на рис. 8-10.

Рис. 8-10. Свойства таблицы Phones

Задайте имя таблицы Phones как phonesDataTable.

Далее Вам необходимо создать в таблице Phones поля id и Телефон. Первое из этих полей будет содержать уникальный идентификатор записей таблицы, а второй — номера телефонов.

На рис. 8-11 мы показали, как нужно настроить свойства столбца id таблицы Phones.

Рис. 8-11. Столбец id таблицы Phones

Здесь мы задали свойства столбца аналогично тому, как это было сделано для столбца id таблицы Contacts, рассмотренной выше.

Что же касается столбца Телефон, то настройка его свойств аналогична настройке свойств столбцов Имя и Фамилия таблицы Contacts (рис. 8-12).

Рис. 8-12. Строка Телефон таблицы Phones

Для хранения ссылок на столбцы наших таблиц дизайнер форм создает в классе Form1 необходимое количество полей класса System.Data.DataColumn:

private System.Data.DataColumn idDataColumn;
private System.Data.DataColumn fnDataColumn;
private System.Data.DataColumn lnDataColumn;

private System.Data.DataColumn idPhonesDataColumn;
private System.Data.DataColumn phonesDataColumn;

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

Например, в таблицах Contacts и Phones имеются столбцы id, предназначенные для хранения уникальных идентификаторов строк. Для того чтобы избежать конфликта имен, мы использовали разные идентификаторы столбцов. В первом случае столбец id имеет идентификатор idDataColumn, а во втором — idPhonesDataColumn.

Столбцы создаются при помощи конструктора класса System.Data.DataColumn, не имеющего параметров:

this.idDataColumn = new System.Data.DataColumn();
this.fnDataColumn = new System.Data.DataColumn();
this.lnDataColumn = new System.Data.DataColumn();

 

this.idPhonesDataColumn = new System.Data.DataColumn();
this.phonesDataColumn = new System.Data.DataColumn();

Рассмотрим теперь процедуру настройки свойств столбцов. Для столбцов таблицы Contacts эта настройка выполняется следующим образом:

//
// idDataColumn
//
this.idDataColumn.AllowDBNull = false;
this.idDataColumn.AutoIncrement = true;
this.idDataColumn.Caption = " id";
this.idDataColumn.ColumnName = " id";
this.idDataColumn.DataType = typeof(int);
this.idDataColumn.ReadOnly = true;
//
// fnDataColumn
//
this.fnDataColumn.AllowDBNull = false;
this.fnDataColumn.Caption = " Имя";
this.fnDataColumn.ColumnName = " Имя";
//
// lnDataColumn
//
this.lnDataColumn.AllowDBNull = false;
this.lnDataColumn.Caption = " Фамилия";
this.lnDataColumn.ColumnName = " Фамилия";

Как видите, программа задает значения соответствующих свойств при помощи оператора присваивания. Обратите внимание, что свойство DataType, определяющее тип данных, задается явным образом только для столбца id, в котором хранятся числовые значения. Для других столбцов используется тип данных по умолчанию — текстовые строки класса string.

Столбцы таблицы Phones инициализируются аналогичным образом:

//
// idPhonesDataColumn
//
this.idPhonesDataColumn.AllowDBNull = false;
this.idPhonesDataColumn.AutoIncrement = true;
this.idPhonesDataColumn.ColumnName = " id";
this.idPhonesDataColumn.DataType = typeof(int);
this.idPhonesDataColumn.ReadOnly = true;
//
// phonesDataColumn
//
this.phonesDataColumn.AllowDBNull = false;
this.phonesDataColumn.ColumnName = " Телефон";

Созданные столбцы добавляются в соответствующие таблицы при помощи метода AddRange:

this.contactsDataTable.Columns.AddRange(
new System.Data.DataColumn[]
{
this.idDataColumn,
this.fnDataColumn,
this.lnDataColumn
}
);

this.phonesDataTable.Columns.AddRange(
new System.Data.DataColumn[]
{
this.idPhonesDataColumn,
this.phonesDataColumn
}
);

При добавлении столбцов в таблицу ссылки на эти столбцы сохраняются в свойстве Columns таблицы.

Так как столбцы id в обеих таблицах должны хранить уникальные значения, мы добавили ограничение System.Data.UniqueConstraint:

this.contactsDataTable.Constraints.AddRange(
new System.Data.Constraint[]
{
new System.Data.UniqueConstraint(" Constraint1",
new string[]
{
" id"
}, true)
}
);

this.phonesDataTable.Constraints.AddRange(
new System.Data.Constraint[]
{
new System.Data.UniqueConstraint(" Constraint1",
new string[]
{
" id"
}, true)
}
);

Набор ограничений, налагаемых на столбцы таблицы, хранятся в свойстве Constraints.

Первичный ключ

Как правило, в каждой таблице создается так называемый первичный ключ (primary key), однозначно идентифицирующий строки таблицы. В наших таблицах роль первичного ключа выполняет столбец id, предусмотренный в таблицах Contacts и Phones.

Чтобы сделать столбец таблицы первичным ключом, необходимо настроить его атрибуты так, как мы делали это для упомянутого выше столбца id. А именно: столбец должен содержать только уникальные непустые значения. Кроме того, необходимо настроить свойство таблицы PrimaryKey, указав в нем поле, играющее роль первичного ключа.

Выбор первичного ключа при редактировании свойства PrimaryKey осуществляется при помощи набора флажков, каждый из которых соответствует одному столбцу таблицы (рис. 8-13).

Рис. 8-13. Первичный ключ в таблице Contacts

Чтобы сделать столбец id первичным ключом, необходимо отметить флажок id.

На рис. 8-14 мы показали выбор первичного ключа для таблицы Phones.

Рис. 8-14. Первичный ключ в таблице Phones

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

Ниже мы привели фрагменты программного кода, задающего для таблиц Contacts и Phones первичные ключи:

this.contactsDataTable.PrimaryKey =
new System.Data.DataColumn[]
{
this.idDataColumn
};

this.phonesDataTable.PrimaryKey =
new System.Data.DataColumn[]
{
this.idPhonesDataColumn
};

Как видите, при этом в свойство PrimaryKey записывается ссылка на массив идентификаторов столбцов таблицы, составляющих первичный ключ.

Элемент управления DataGrid

При создании приложений, имеющих графический пользовательский интерфейс, отображение содержимого баз данных часто выполняют с помощью табличных отчетов. Хорошей новостью является то, что в наборе элементов управления системы Microsoft.NET Framework имеется очень мощный компонент с названием DataGrid, специально предназначенный для решения этой задачи.

Работать с элементом управления DataGrid достаточно просто. Если Вы подготовили набор таблиц в виде объекта DataSet, то для отображения содержимого этих таблиц достаточно подключить к этому набору объект DataGrid, выполнив необходимую настройку свойств. При этом элемент управления DataGrid автоматически обеспечит Ваше приложение возможностью просматривать и редактировать набор таблиц, созданных в рамках объекта DataSet. Образно говоря, элементы управления DataGrid и DataSet как бы созданы друг для друга.

Добавление объекта DataGrid в проект приложения DataSetApp

Созданное в предыдущем разделе приложение DataSetApp поможет нам изучить основные возможности элемента управления DataGrid.

Перетащите значок элемента управления DataGrid из вкладки Windows Forms инструментальной панели Toolbox в окно формы приложения DataSetApp. Далее Вам нужно будет настроить некоторые свойства элемента управления DataGrid, пользуясь для этого окном Properties системы Microsoft Visual Studio.NET (рис. 8-15).

Рис. 8-15. Настройка свойств элемента управления DataGrid

Прежде всего, подключите элемент управления DataGrid к набору таблиц dataSet1, отредактировав для этого свойство DataSource (значение свойства DataMember пока задавать не надо).

Кроме этого, задайте значение свойства CaptionText, задающего текст заголовка таблицы, в виде строки «Контакты». Шрифт этого заголовка можно выбрать при помощи свойства CaptionFont.

На рис. 8-16 мы показали вид главного окна приложения DataSetApp после выполнения всех этих операций, а также после добавления полей и кнопки, с помощью которой можно будет добавлять новые строки в таблицу Contacts.

Рис. 8-16. Элемент управления DataGrid подключен к набору данных

Если щелкнуть мышью флажок, показанный на этом рисунке в виде квадратика со знаком плюс, то в окне появится список таблиц, созданных в наборе dataSet1. Этот список мы показали на рис. 8-17 в раскрытом виде.

Рис. 8-17. Раскрыт список таблиц

Как видите, элементы этого списка отображены в виде ссылок, напоминающих ссылки, располагаемые на Web-страницах. Если щелкнуть мышью, например, ссылку Contacts, в окне элемента управления DataGrid будет показано содержимое таблицы Contacts.

Первоначально таблица Contacts будет отображаться пустой, поэтому Вы увидите в ней только одну строку, отмеченную звездочкой. При помощи мыши и клавиатуры Вы сможете добавить к таблице необходимое количество строк (рис. 8-18).

Рис. 8-18. Просмотр и редактирование содержимого таблицы Contacts

Содержимое существующих строк можно редактировать прямо в таблице, но это при условии, что соответствующий столбец не отмечен как доступный только для чтения.

Напомним, что за это отвечает свойство столбца с именем ReadOnly. Для столбцов id обеих наших таблиц это свойство имеет значение true, поэтому Вы не сможете вручную изменить содержимое ячеек данных столбцов.

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

Ненужные строки можно удалить при помощи клавиши Delete, предварительно выделив из левой клавишей мыши. Чтобы выделить сразу несколько строк, при выделении держите в нажатом состоянии клавишу Shift.

Обратите внимание на кнопку со стрелкой, расположенную в правой части заголовка окна элемента управления DataGrid. С ее помощью Вы сможете вернуться назад к просмотру списка столбцов, показанного на рис. 8-17, а затем выбрать для просмотра таблицу Phones (рис. 8-19).

Рис. 8-19. Просмотр и редактирование содержимого таблицы Phones

Конечно, только что рассмотренный способ отображения содержимого таблиц пригоден далеко не для всех приложений. В частности, в приложении DataSetApp нам нужно сделать так, чтобы элемент управления DataGrid отображал содержимое только одной таблицы Contacts, а средства просмотра списка таблиц необходимо отключить.

К счастью, эту операцию выполнить очень легко. Достаточно задать значение для свойства DataMember, выбрав его из списка. В нашем случае для выбора необходимо отметить в списке строку Contacts, как это показано на рис. 8-20.

Рис. 8-20. Выбор таблицы для отображения в окне элемента управления DataGrid

Как нетрудно убедиться (рис. 8-21), после подобной настройки свойства DataMember в окне элемента управления DataGrid будет отображаться содержимое только одной таблицы. Кроме того, из заголовка этого окна исчезнет кнопка, предназначенная для просмотра списка таблиц.

Рис. 8-21. Теперь отображается только таблица Contacts

Настройка внешнего вида окна элемента управления DataGrid

Многочисленные свойства элемента управления DataGrid позволяют изменять внешний вид его окна, приводя его в соответствие с дизайном Вашего приложения.

Рамка вокруг окна

С помощью свойства BorderStyle программист может задать внешний вид рамки вокруг окна элемента управления DataGrid.

По умолчанию используется трехмерная рамка фиксированного размера (которой соответствует константа Fixed3D). Ее можно заменить одномерной рамкой FixedSingle или убрать совсем, присвоив свойству BorderStyle значение None.

Заголовок окна

Как мы уже говорили, свойство CaptionText задает текст заголовка таблицы. При необходимости Вы можете изменить шрифт заголовка, отредактировав свойство CaptionFont.

Форматирование содержимого окна

Установив значение свойства FlatMode, равным true, можно добиться отображения содержимого окна DataGrid в плоском виде.

Рис. 8-22. Результат изменения значения свойства FlatMode

Свойства Font и HeaderFont позволяют, соответственно, изменять шрифт, применяемый в окне элемента управления DataGrid, и в заголовках столбцов.

Если изменить значение свойства GridLineStyle на None, столбцы и строки таблицы не будут отделяться друг от друга линиями.

Сортировка

По умолчанию значение свойства AllowSorting равно true, что позволяет пользователю сортировать содержимое окна, щелкая мышью заголовки столбцов. Если по логике работы приложения необходимо запретить такую сортировку, присвойте свойству AllowSorting значение false.

Запрет редактирования

Установив значение свойства ReadOnly, равным true, можно запретить пользователю редактирование содержимого окна элемента управления DataGrid. Это бывает необходимо в тех случаях, когда по логике работы приложения это окно предназначено только для просмотра содержимого таблиц, или когда редактирование таблиц выполняется при помощи других элементов управления или программных средств.

Выбор цвета

На рис. 8-23 мы показали многочисленные свойства, с помощью которых можно задать цвета различных компонентов визуального интерфейса элемента управления DataGrid.

Рис. 8-23. Свойства, определяющие цвета визуального интерфейса элемента управления DataGrid

Выделяя по очереди эти свойства в окне Properties, Вы сможете прочитать их детальное описание. Например, свойство GridLineColor позволяет задать цвет линий, отделяющих строки и столбцы таблицы, а свойство ForeColor задает цвет текста.

Настраивая значения свойств, отвечающих за цветовую гамму окна элемента управления DataGrid, можно добиться совместимости с дизайном Вашего приложения.

Набор стилей оформления TableStyles

Редактируя свойство TableStyles, можно задать стили оформления таблиц, определенных в элементе управления DataGrid. Давайте создадим разные стили оформления для разных столбцов таблицы Contacts.

Прежде всего, отредактируйте свойство TableStyles, добавив в него один стиль dataGridTableStyle1 с помощью редактора стилей (рис. 8-24).

Рис. 8-24. Редактирование набора стилей оформления

Как обычно, кнопка Add позволяет добавить новый стиль, а кнопка Remove — удалить его.

После добавления стиля необходимо настроить свойства этого стиля. Для этого воспользуйтесь списком свойств, расположенным в правой части окна редактора стилей, показанного на рис. 8-24.

Так как мы создавали стиль dataGridTableStyle1 для таблицы Contacts, укажите имя этой таблицы в свойстве MappingName.

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

Далее необходимо создать три стиля оформления для столбцов id, Имя и Фамилия. Это делается путем редактирования свойства GridColumnStyles. Для редактирования вызывается специальный редактор стилей столбцов, окно которого показано на рис. 8-25.

Рис. 8-25. Стили оформления столбца id

При помощи свойства HeaderText задайте заголовок столбца. Первый столбец должен иметь заголовок Идентификатор, второй — Имя, и третий — Фамилия.

Выбирая по очереди созданные стили, свяжите каждый из них с соответствующим столбцом таблицы Contacts и отредактируйте свойства стиля. Для связывания стиля со столбцом таблицы отредактируйте свойство MappingName, как это показано на рис. 8-26.

Рис. 8-26. Привязка стиля к столбцу id

Выполните операцию привязки для всех столбцов таблицы Contacts.

Редактируя стиль столбца, Вы можете задать выравнивание текста внутри столбца (свойство Alignment), задать заголовок столбца HeaderText и ширину столбца Width.

По умолчанию при заполнении новой строки в ней отображается текст (null). Замените его для второго и третьего столбца на (имя) и (фамилия), соответственно. В результате пользователь увидит подсказку, показанную на рис. 8-27. Эта подсказка поможет ему ввести нужные данные.

Рис. 8-27. Подсказка для ввода данных

Программный код

В предыдущих разделах мы рассказали Вам о том, как можно создавать элементы управления DataGrid визуальными средствами проектирования, предусмотренным специально для этой цели в системе Microsoft Visual Studio.NET. Теперь настало время рассмотреть программный код, который создается при этом дизайнером форм.

Создание элемента управления DataGrid

Элемент управления DataGrid создается при помощи конструктора класса System.Windows.Forms.DataGrid, как это показано ниже:

private System.Windows.Forms.DataGrid dataGrid1;
this.dataGrid1 = new System.Windows.Forms.DataGrid();

Программа сохраняет идентификатор созданного элемента управления в поле dataGrid1.

Настройка свойств

Рассмотрим программный код, который создается для настройки свойств элемента управления DataGrid.

Свойство DataSource задает привязку элемента управления DataGrid к набору данных DataSet, содержащему таблицы с данными:

this.dataGrid1.DataSource = this.dataSet1;

Свойство DataMember привязывает наш элемент управления к таблице Contacts:

this.dataGrid1.DataMember = " Contacts";

Следующие строки задают шрифт для заголовка и текста:

this.dataGrid1.CaptionFont =
new System.Drawing.Font(" Arial", 8.25F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
((System.Byte)(204)));

this.dataGrid1.Font =
new System.Drawing.Font(" Microsoft Sans Serif", 8.25F,
System.Drawing.FontStyle.Regular,
System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.