- Регистрация
- 19.06.2020
- Сообщения
- 26
- Благодарностей
- 6
- Баллы
- 3
Начитавшись статей о создании привлекательного интерфейса на Windows.Forms решил и в свой проект внедрить данную технологию. Наступил тот этап, когда понадобилось взаимодействовать с таблицами проекта.
Необходимо брать данные из таблицы, выводить в DataGrindView, редактировать и возвращать в таблицу.
Для взятия данных, нашёл вот такой код на форуме:
В доках Microsoft, вроде бы написано, что есть способ проще, но как его реализовать, не разобрался.
По поводу возвращения данных в таблицу. Можно ли это сделать с помощью тех же циклов или есть способ по проще?
Кодер из меня никакой, поэтому прошу помощи у гуру. Думаю сделать из этой статьи что-то вроде мануала, думаю новичкам будет полезно.
Необходимо брать данные из таблицы, выводить в DataGrindView, редактировать и возвращать в таблицу.
Для взятия данных, нашёл вот такой код на форуме:
C#:
//Создаём форму
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Моя форма";
F.AutoSize=true;
/***************************************************************/
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
button.Text = "Закрыть";
button.Location = new System.Drawing.Point(175,15);
button.Size=new System.Drawing.Size(90, 25);
F.Controls.Add(button);
//*
//создаем таблицу
System.Windows.Forms.DataGridView dgv = new System.Windows.Forms.DataGridView();
//положение в окне
dgv.Location = new System.Drawing.Point(50,50);
//размер
dgv.AutoSize = true;
dgv.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
// получаем таблицу, в которой ошибки
var sourceTable = project.Tables["Setting_day"];
lock(SyncObjects.TableSyncer)
{
// получаем количество столбцов в таблице
for(int k=0; k < sourceTable.ColCount; k++)
{
// добавляем столбцы на форму
dgv.Columns.Add(k.ToString(), k.ToString());
}
};
{
for(int i=0; i < sourceTable.RowCount; i++)
{
// читаем строку из таблицы (это будет массив ячеек)
var cells = sourceTable.GetRow(i).ToArray();
// добавляем строку
dgv.Rows.Add(cells);
}
};
//
//кидаем на форму
F.Controls.Add(dgv);
//
//описываем событие для клика по кнопке
button.Click+= delegate(object sender, System.EventArgs e)
{
F.Dispose(); //Dispose – это уничножение объекта. Есть аналог Close, но Dispose //выгрузит форму из памяти
};
//позиция Формы на экране
F.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
F.ShowDialog();
По поводу возвращения данных в таблицу. Можно ли это сделать с помощью тех же циклов или есть способ по проще?
Кодер из меня никакой, поэтому прошу помощи у гуру. Думаю сделать из этой статьи что-то вроде мануала, думаю новичкам будет полезно.
Последнее редактирование: