DataSet myDataSet = new DataSet();
// Пустой объект - представитель класса DataSet.
DataTable myTable = new DataTable(); // Пустая таблица создана.
myDataSet.Tables.Add(myTable); // И подсоединена к объекту класса DataSet.
// Определение структуры таблицы. Это мероприятие можно было
// провести и до присоединения таблицы.
DataColumn shipColumn = new DataColumn("Ships");
myDataSet.Tables[0].Columns.Add(shipColumn);
// Прочие столбцы подсоединяются аналогичным образом.
// Таким образом формируются поля данных таблицы.
// Внимание! После того как определена структура таблицы,
// то есть определены ВСЕ СТОЛБЦЫ таблицы, от имени этой конкретной
// таблицы порождается объект-строка. Этот объект сразу располагается
// непосредственно в таблице. Для каждой определенной таблицы
// метод NewRow() порождает строку
// (последовательность значений соответствующего типа).
// Для непосредственного
// редактирования вновь созданной строки запоминается ее ссылка.
// Работать со строкой через эту ссылку проще, чем с массивом
// строк таблицы.
DataRow myRow = myDataSet.Tables[0].NewRow();
// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Остается заполнить строку таблицы содержательной информацией.
// При этом может быть использован любой источник данных.
// В данном примере предполагается наличие объекта типа ArrayList
// с именем ShipCollection.
for (int i = 0; i < ShipCollection.Count; i++)
{
myRow.Item[Counter] = ShipCollection[i];
}
// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Заполненный объект - представитель класса DataRow добавляется
// к набору Rowsкласса DataTable.
myDataSet.Tables[0].Rows.Add(myRow); |
Листинг 18.7. |
| Закрыть окно |