20. Элементы управления для работы с таблицами в экранных формах.

Класс DataGridView

Класс DataGridView используется для отображения данных в виде таблицы. Данные могут вводиться пользователем в ходе работы программы, генерироваться программой, или быть привязаны к базе данных на удалённом сервере. DataGridView можно разместить на экранной форме приложения WinForms и задать его параметры при помощи редактора форм.

DataGridView содержит коллекции Rows и Columns содержащие объекты строк и столбцов соответственно. Добавление элементов в таблицу показано в следующем примере:

        public void setupTable()
        {
            // Установка количества столбцов
            dataGridView1.ColumnCount = 2;

            // Разрешение на создание строк (записей в таблице) пользователем
            dataGridView1.AllowUserToAddRows = true;

            // Задание заголовков столбцов
            dataGridView1.Columns[0].HeaderText = "Страна";
            dataGridView1.Columns[1].HeaderText = "Столица";

            //Добавление строк при помощи перегруженного метода Add(params object[] values)
            dataGridView1.Rows.Add("Россия", "Москва");
            dataGridView1.Rows.Add("США", "Вашингтон");
            dataGridView1.Rows.Add("Япония", "Токио");
        }

Данный код создаст такую таблицу

Table example

Можно видеть, что последняя строка была добавлена пользователем и находится в состоянии редактирования

Пример суммирования значений в таблице:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // Установка количества столбцов
            dataGridView1.ColumnCount = 3;

            // Разрешение на создание строк (записей в таблице) пользователем
            dataGridView1.AllowUserToAddRows = true;

            // Задание заголовков столбцов
            dataGridView1.Columns[0].HeaderText = "Страна";
            dataGridView1.Columns[1].HeaderText = "Столица";
            dataGridView1.Columns[1].HeaderText = "Число жителей";

            //Добавление строк при помощи перегруженного метода Add(params object[] values)
            dataGridView1.Rows.Add("Россия", "Москва", 10);
            dataGridView1.Rows.Add("США", "Вашингтон", 50);
            dataGridView1.Rows.Add("Япония", "Токио", 1002);
        }

        public int gridSum()
        {
            int sum = 0;

            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                sum += (int)dataGridView1.Rows[i].Cells[2].Value;
            }

            return sum;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(String.Format("Сумма жителей: {0}", gridSum()));
        }
    }

results matching ""

    No results matching ""