Как создать таблицу в visual studio

Обновлено: 04.07.2024

1. Создание базы данных

В качестве СУБД выберем программу Microsoft Access. Но вы можете использовать и другую базу данных.

Создаем базу данных в Microsoft Access и называем её «test». В этой базе данных создаем таблицу «contacts»:

Заполните базу данных данными:

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

2. Создание проекта

В Visual Studio создаём проект:

Открываем список «Выберите источник данных» и нажимаем на ссылку «Добавить источник данных проекта»:

Откроется «Мастер настройки источника данных». В качестве источника выбираем «База данных» и идем далее:

В следующем окне идем далее:

В окне «Выбор подключения к базе данных» нажимаем на «Создать подключение»:

В следующем окне «Добавить подключение» выбираем в «Поставщик OLE DB» Microsoft Office 16.0 Access Database. В «Имя сервера или файла» вписываем путь к нашему файлу базы данных Access (который создали в первом пункте). Проверяем подключение и жмем «ОК»:

Update 2021: Visual Studio 2019 требует файл Access старого формата (.mdb – это старый формат баз данных Access 2002-2003):

В следующем окне идем далее:

Выйдет окно для переноса файла базы данных в Ваш проект нажимаем «Да»:

В следующем окне ничего не меняем и идем далее:

В следующем окне выбираем нашу таблицу «contacts» и жмем «Готово»:

После всех манипуляций наша форма должна быть примерно такой:

Если запустить наш проект, то можно увидать данные из нашей базы данных:

Поменяйте ширину всех столбцов на «150» чтобы столбцы вместились во все окно:

Вот так без единой строчки кода мы вывели данные из нашей таблицы на нужную нам форму. Переходим к 3 пункту.

3. Сохранение данных

Базу данных мы видим, но редактировать её невозможно и именно поэтому нам нужна кнопка «Сохранить». Добавляем на форму кнопку и в свойствах меняем имя на «SaveButton». После добавления кнопки нажимаем на нее два раза и пишем код:

После добавления кода запустите свое приложение и попробуйте изменить любую запись и сохранить.

4. Изменение заголовков столбцов таблицы

Изменим текст столбцов и скроем столбец «img»:

Полезные свойства для изменения столбцов:

  • HeaderText – задает название столбца.
  • Visible – скрывает заголовок или наоборот.
  • Width – ширина столбца.
  • Resizable – можно ли изменять ширину столбца.

После того как скроете заголовок «img» измените ширину всех остальных заголовков:

5. Защита от случайного удаления

Чтобы пользователь случайно не удалил запись в нашей базе данных нужно сделать так чтобы перед удалением приложение спрашивало об удалении записи.

Для этого перейдем к компоненту DataGridView, откроем список событий и установим обработчик для события UserDeletingRow. Нажмите два раза на пустую строчку возле события и перейдете к коду. Вписываем код:

После этого проверим работоспособность данного кода. Запустим приложение и попробуем удалить запись. Должно быть вот так:

6. Добавление данных

Добавляем новую форму в проект и называем ее «AddForm»:

Изменяем заголовок формы и добавляем на форму компоненты:

  • 1 groupBox c текстом «Добавление записи»;
  • 4 TextBox и меняем свойство «Name» на (tbName, tbPhone, tbMail, tbPhoto);
  • 4 label и меняем текст на (Имя, Телефон, E-mail, Фото);
  • 1 Button и меняем свойство «Name» на «AddBtn» (Добавить);
  • 1 Button и меняем свойство «Name» на «CloseBtn» (Закрыть).

Переходим на главную форму и добавляем кнопку «Добавить» для добавления новой записи. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

Проверьте работоспособность приложения:

Возвращаемся на форму «Добавления записи». Пишем обработчик событий для кнопки «CloseBtn»:

Чтобы обработчик событий на кнопке «AddBtn» работал как надо нужно выполнить несколько действий. Зайти в «Form1.Designer.cs» и изменить модификаторы доступа на «public» нижеуказанных файлов:

  • System.Windows.Forms.DataGridView dataGridView1;
  • testDataSet testDataSet;
  • System.Windows.Forms.BindingSource contactsBindingSource;
  • testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;

Это нужно для того чтобы наша база данных была доступна для разных с ней манипуляций во всех создаваемых нами формах. Обработчик событий для кнопки «AddBtn»:

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

7. Поиск данных

Реализуем самый простой поиск. Данный поиск используется в небольших приложениях. Создаем новую форму с именем «SearchForm» и добавляем на форму компоненты:

  • 1 GroupBox (Поиск);
  • 1 label;
  • 2 button (Найти и Закрыть);
  • 1 TextBox и меняем в свойствах «Name» на «tbStr».

Переходим на главную форму и добавляем кнопку «Найти» для поиска записей. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

Проверяем работоспособность приложения:

Возвращаемся на форму «Поиска». Пишем обработчик событий для кнопки «Закрыть»:

Пишем обработчик событий для кнопки «Найти»:

На главную форму добавляем кнопку «Выход» и пишем для нее код:

Итоговая форма приложения:

В этом пошаговом руководстве объясняется, как создать DataTable (без адаптера таблицы) с помощью Конструктор наборов данных. Сведения о создании таблиц данных, которые включают TableAdapter, см. в разделе Создание и настройка адаптеров таблиц.

Создание приложения Windows Forms

В Visual Studio в меню Файл выберите пункты Создать > Проект.

в средней области выберите тип проекта приложения Windows Forms .

Назовите проект дататаблевалксраугх и нажмите кнопку ОК.

Проект дататаблевалксраугх создается и добавляется в Обозреватель решений.

Добавление нового набора данных в приложение

В меню Проект выберите команду Добавить новый элемент.

Откроется диалоговое окно Добавление нового элемента.

На панели слева выберите данные, а затем выберите набор данных в средней области.

Visual Studio добавляет файл с именем DataSet1. xsd в проект и открывает его в конструктор наборов данных.

Добавить новый объект DataTable в набор данных

Перетащите объект DataTable с вкладки набор данных на панели элементов на Конструктор наборов данных.

В набор данных добавляется таблица с именем DataTable1 .

Щелкните строку заголовка DataTable1 и переименуйте ее Music .

Добавить столбцы в таблицу данных

Щелкните правой кнопкой мыши таблицу Music . Наведите указатель мыши на пункт Добавить и выберите столбец.

Присвойте столбцу имя SongID .

В окне Свойства присвойте свойству DataType значение System.Int16.

Повторите эту процедуру и добавьте следующие столбцы:

Задание первичного ключа для таблицы

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

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

Сохранение проекта

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

Первым шагом создания игры "Подбери пару!" является создание проекта и добавление таблицы в форму. Таблица помогает равномерно распределить значки по сетке 4x4. Можно также задать несколько свойств, чтобы улучшить внешний вид игрового поля.

Создание проекта и добавление таблицы в форму

В строке меню щелкните Файл > Создать > Проект.

Появится форма с именем Form1.cs или Form1.vb, в зависимости от выбранного языка программирования.

Рабочая нагрузка разработки классических приложений .NET в Visual Studio Installer

Дополнительные сведения см. в разделе Установка Visual Studio.

На начальном экране выберите Создать проект.

Просмотр окна "Создание проекта"

В поле поиска окна Создание проекта введите Windows Forms. Затем в списке Тип проекта выберите Рабочий стол.

Рабочая нагрузка .NET Core в Visual Studio Installer

Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку.

В окне Настроить новый проект введите MatchingGame в поле Имя проекта. Затем нажмите Создать.

Задание свойств формы

В окне Свойства задайте следующие значения свойств формы.

Измените свойство формы Text с Form1 на Matching Game. Этот текст отображается в верхней части окна игры.

Установите размер формы на 550 пикселей в ширину и 550 пикселей в высоту. Для этого установите для свойства Size значение 550, 550 или перетащите угол формы, чтобы требуемый размер отобразился в правом нижнем углу интегрированной среды разработки (IDE).

Откройте панель элементов, выбрав вкладку Панель элементов в левой части интегрированной среды разработки.

Перетащите элемент управления TableLayoutPanel из категории Контейнеры панели элементов, а затем установите для него следующие свойства.

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

Цвета упорядочены не по алфавиту, и цвет CornflowerBlue находится в нижней части списка.

Задайте для свойства Dock значение Fill, нажав кнопку раскрывающегося списка рядом со свойством и щелкнув большую среднюю кнопку. Таблица будет растянута по всей форме.

Для свойства CellBorderStyle установите значение Inset. Между ячейками поля появятся видимые границы.

Нажмите треугольную кнопку в правом верхнем углу элемента управления TableLayoutPanel для отображения меню задач этой панели.

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

В меню задач выберите команду Изменить строки и столбцы, чтобы открыть окно Стили столбцов и строк. Выберите каждый из столбцов, нажмите кнопку Процент и установите ширину каждого столбца равной 25 процентам от общей ширины. Затем в раскрывающемся списке в верхней части окна выберите Строки и задайте высоту каждой строки равной 25 процентам. По завершении нажмите кнопку ОК.

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

Убедитесь, что TableLayoutPanel выбран в редакторе формы. На это будет указывать надпись tableLayoutPanel1 в верхней части окна Свойства. Если этот элемент управления не выбран, выберите элемент управления TableLayoutPanel в форме или в раскрывающемся списке в верхней части окна Свойства.

При выбранном элементе управления TableLayoutPanel откройте панель элементов и добавьте элемент управления Label (находится в категории Стандартные элементы управления) в левую верхнюю ячейку TableLayoutPanel. Теперь элемент управления Label должен быть выбран в интегрированной среде разработки. Задайте для него следующие свойства.

Убедитесь, что свойство BackColor имеет значение CornflowerBlue.

Задайте свойству AutoSize значение False.

Задайте для свойства Dock значение Fill.

Задайте для свойства TextAlign значение MiddleCenter, нажав кнопку раскрывающегося списка рядом со свойством, а затем щелкнув среднюю кнопку. Это необходимо, чтобы значок отображался в середине ячейки.

Выберите свойство Font. Должна появиться кнопка с многоточием (…).

Установите свойство Text равным букве с.

Теперь в левой верхней ячейке TableLayoutPanel должен располагаться черный квадрат на синем фоне, который выравнивается по центру.

Шрифт Webdings является шрифтом значков, который поставляется с операционной системой Windows. В вашей игре "Подбери пару!" игроку необходимо найти пары одинаковых значков, поэтому используйте этот шрифт для отображения значков. Вместо ввода буквы с в свойство Text попробуйте вводить разные буквы, чтобы увидеть, какие значки отображаются. Восклицательный знак соответствует пауку, прописная буква N — глазу, а запятая — перцу чили.

Выберите элемент управления Label и скопируйте его в следующую ячейку TableLayoutPanel. (Нажмите сочетание клавиш CTRL+C или в строке меню выберите Правка > Копировать.) Затем вставьте его. (Нажмите сочетание клавиш CTRL+V или в строке меню выберите Правка > Вставить.) Во второй ячейке элемента управления TableLayoutPanel появится копия первого элемента управления Label. Вставьте его снова, и в третьей ячейке появится еще один элемент управления Label. Продолжайте вставлять элементы управления Label, пока все ячейки не будут заполнены.

Если выполнить команду вставки слишком много раз, интегрированная среда разработки добавит новую строку в TableLayoutPanel, чтобы появилось место для добавления нового элемента управления Label. Можно выполнить откат. Чтобы удалить новую ячейку, нажмите сочетание клавиш CTRL+Z или в меню выберите Правка > Отменить.

Теперь ваша форма готова. Она будет выглядеть примерно так, как показано на рисунке ниже.

Исходная форма игры на сопоставление


Исходная форма игры "Подбери пару!"

БлогNot. Visual C++: табличные компоненты и работа с ними

Visual C++: табличные компоненты и работа с ними

Пример 1. Пишем приложение TableEditor1 для редактирования таблицы и сохранения её в формате XML.

На форму добавим компоненту dataGridView1 , а объекты DataTable и DataSet создадим программно.

Для этого опишем глобально в классе формы следующие величины:

На загрузку формы реализуем такой код (обработчик события Load ):

Перед закрытием формы выполним следующий код (обработчик события FormClosing ):

Данные сохраняются в формате XML.

DataSet представляет собой кэш данных, расположенный в оперативной памяти. DataSet состоит из коллекции объектов класса DataTable .

Пример такого кода:

Поэтому следует пользоваться методами объекта DataSet .

Пример 2. Пишем проект TableEditor2 для связанных таблиц.

Компонента DataGrid - решение для показа связанных таблиц в одной компоненте, в DataGridView такой возможности нет. Не все компоненты доступны по умолчанию, в том числе, и DataGrid . Щёлкаем правой кнопкой мыши на панели элементов управления, Выбрать элементы, на вкладке "Компоненты .NET Framework" устанавливаем флажок возле элемента DataGrid пространства имен System.Windows.Forms , нажимаем ОК.

После этого DataGrid можно добавить на форму.

На загрузку формы (обработчик события Load ):

На нажатие кнопки (переключает между родительской и дочерней таблицами):

Пример 3. Делаем всё по-современному - через DataGridView . Подробнее об этом компоненте.

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

Rows - коллекция строк, имеет тип DataGridRowCollection

Columns - коллекция столбцов, тип DataGridColumnCollection

Оба свойства индексируются как массивы для доступа к конкретной строке/столбцу, нумерация с нуля.

Cells - коллекция ячеек из объекта DataGridRowCollection , приведём пример доступа к ячейке:

RowCount , ColumnCount - количество строк и столбцов

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

Методы для добавления/удаления/редактирования строк относятся к коллекции Rows и имеют типовые имена: Add , Insert , Clear , AddCopy , InsertCopy , Remove , RemoveAt и могут иметь по несколько перегрузок каждая, например, для Add есть версии Add() , Add(КоличествоНовыхСтрок) , Add (DataGridViewRow ^row) , Add (. Object ^object)

Настройка внешнего вида компонента также типовая: такие свойства, как BackColor , Alignment , Font и т.д. находятся в объекте типа DataGridViewCellStyle

Каждая ячейка представлена объектом System::Windows::Forms::DataViewCell , за "личный" внешний вид ячейки отвечает свойство InheritedStyle , вид по умолчанию - DefaultCellStyle

1. По нажатию кнопки перекрасим фон таблицы в розовый цвет:

2. . или только фон выбранной ячейки:

Значения cell_y , cell_x описаны глобально в классе формы:

инициализируются в обработчике её события Load :

и получаются значения в обработчиках событий dataGridView1_KeyUp , dataGridView1_MouseUp (одинаковым кодом):

3. Обработчик события dataGridView1_CellFormatting для выделения текущей ячейки жёлтым фоном:

4. Сделаем в dataGridView1 таблицу со значениями функции. Код по нажатию кнопки:

5. Есть также множество событий, связанных с редактированием ячейки: CellBeginEdit , CellEndEdit , CellParsing , CellValidating , CellValidated и т.д.

Например, по умолчанию наша таблица редактируется. Чтобы разрешить в первом столбце ( Y(X) ) ввод только числовых значений, напишем следующий код, выполняемый по событию CellValueChanged :

Величина lastValue описана в классе формы:

и, по событию CellBeginEdit , сохраняет предыдущее значение, хранимое в ячейке:

Перейдем теперь к созданию пользовательского интерфейса. Его создание начнем с создания главной кнопочной формы. Запустите " Microsoft Visual Studio 2008" и откройте созданный ранее проект "StudentsDB", щелкнув по его значку в области "Recent Projects" стартовой страницы " Start Page " ( рис. 18.1).


После появления стандартного окна среды разработки в рабочей области на форму поместите надпись ( Label ) и четыре кнопки ( Button ) как показано на рис. 18.2.


Замечание: Для создания надписи на панели объектов необходимо нажать кнопку


а затем нарисовать прямоугольник мышью на форме, удерживая ЛКМ. Кнопки создаются таким же образом, только на панели объектов нажмите кнопку


После создания объектов перейдем к настройке их свойств. Начнем с настройки свойств формы. Выделите форму, щелкнув ЛКМ в пустом месте формы. На панели свойств задайте свойства формы как представлено ниже:

  • FormBorderStyle (Стиль границы формы): Fixed3D;
  • MaximizeBox (Кнопка развертывания формы во весь экран): False;
  • MinimizeBox (Кнопка свертывания формы на панель задач): False;
  • Text (Текст надписи в заголовке формы): База данных "Студент".

На форме выделите надпись, щелкнув по ней ЛКМ и на панели свойств, задайте свойства надписи следующим образом:

  • AutoSize (Авторазмер): False;
  • Font (Шрифт): Microsoft Sans Serif , размер 14;
  • ForeColor (Цвет текста): Темно синий;
  • Text (Текст надписи): База данных "Студент";
  • TextAlign (Выравнивание текста): MiddleCenter.

У кнопок задайте надписи (свойство "Text" ) как показано на рис. 18.3.


После настройки свойств вышеперечисленных объектов форма примет вид представленный на рис. 18.3.

Теперь перейдем к созданию простых ленточных форм для работы с данными. Для начала создадим ленточную форму, отображающую таблицу "Специальности". Добавим в проект новую пустую форму. Для этого в оконном меню выберите пункт "Project/Add Windows Form". Появится окно "Add New Item - StudentsDB" (Добавить новый компонент ) ( рис. 18.4).


В данном окне в разделе "Categories:" (Категории) выберите "Windows Forms" (Формы Windows ), затем в разделе "Templates:" (Шаблоны) выберите "Windows Form" (Форма Windows ) и нажмите кнопку "Add" (Добавить). Новая пустая форма появится в рабочей области среды разработки.

В верхней части новой формы создайте надпись ( Label ), как это показано на рис. 18.5.


Перейдем к настройке свойств формы и надписи. Выделите форму, щелкнув ЛКМ в пустом месте формы. На панели свойств задайте свойства формы следующим образом:

  • FormBorderStyle (Стиль границы формы): Fixed3D;
  • MaximizeBox (Кнопка развертывания формы во весь экран): False;
  • MinimizeBox (Кнопка свертывания формы на панель задач): False;
  • Text (Текст надписи в заголовке формы): Таблица "Специальности".

На форме выделите надпись, щелкнув по ней ЛКМ и на панели свойств, задайте свойства надписи как показано ниже:

  • AutoSize (Авторазмер): False;
  • Font (Шрифт): Microsoft Sans Serif , размер 14;
  • ForeColor (Цвет текста): Темно синий;
  • Text (Текст надписи): Таблица "Специальности";
  • TextAlign (Выравнивание текста): MiddleCenter.

После настройки всех вышеперечисленных свойств форма будет выглядеть следующим образом ( рис. 18.6):


Теперь поместим на форму поля таблицы "Специальности". Сначала откройте панель "Источники данных" ( Data Sources), щелкнув по ее вкладке в правой части окна среды разработки (смотри рис. 18.6). На панели "Источники данных" отобразите поля таблицы "Специальности", щелкнув по значку "+", расположенному слева от имени таблицы ( рис. 18.7).


Панель "Источники данных" примет вид, представленный на рис. 18.7.

Замечание: Под полями таблицы специальности в виде подтаблицы располагается таблица "Студенты" ( рис. 18.7). Подтаблица показывает, что таблица "Студенты" является вторичной по отношению к таблице специальности.

Замечание: При выделении, какого либо поля таблицы, оно будет отображаться в виде выпадающего списка ( рис. 18.7), позволяющего выбирать объект , отображающий содержимое выделенного поля ( рис. 18.8).

Читайте также: