Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
irineyxxx
138 / 50 / 11
Регистрация: 18.09.2011
Сообщений: 730
1

Нужна полная информация о DataGridView

29.02.2012, 15:21. Просмотров 1812. Ответов 9
Метки нет (Все метки)

Пожалуйста люди, скиньте ссылки, где показывают все инструкции как пользоваться DataGridView. P.S. - только не MSDN , там не очень написано для меня, пожалуйста, другие источники
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.02.2012, 15:21
Ответы с готовыми решениями:

Нужна информация по криптору
Здравствуйте уважаемые пользователи форума. Хочу попросить вас о помощи ,а...

Нужна информация по созданию ботов
Хочу узнать как создать бота для клиентской онлайн игры. Говорят нужно читать...

Microsoft Robotics Developer Studio - нужна информация по использованию
Вещь интересная, я должен научиться работать в ней, только даже литературы...

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

Полная прорисовка данных на pictureBox
Уважаемые господа программисты, проблема такова: на panel лежит pictureBox, при...

9
NowMatrix
96 / 79 / 16
Регистрация: 14.01.2011
Сообщений: 438
29.02.2012, 15:51 2
youtube - запрос в поиске DataGridView и всё.
1
irineyxxx
138 / 50 / 11
Регистрация: 18.09.2011
Сообщений: 730
29.02.2012, 16:11  [ТС] 3
Нет возможности на работе использовать youtube. Тут медленный интернет, только так....читать.
0
Караман
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
29.02.2012, 17:47 4
Что тебя конкретно интересует по дата грид вью?

Добавлено через 11 минут
Всё можно посмотреть кинув элемент на форму:
C#
1
2
3
4
dataGridView1.Columns.Add("Столбец1", "Текст заголовка 1 столбца");//Добавление столбца, в перегрузках можно указать тип столбца (Текст бокс, комбо бокс, чек бокс и т.д.)
            dataGridView1.Columns.Add("Столбец2", "Текст заголовка 2 столбца");
            dataGridView1.Rows.Add(new object[] { "Значение первой ячейки", "Значение второй ячейки" });//Добавление строки
            dataGridView1[0, 0].Value.ToString(); // значение в ячейке дата грида
Это самые частые используемые его функции. Есть еще куча свойств: разрешать изменение ширины столбцов, разрешать изменение высоты строк, выделять ячейку или всю строку сразу, разрешать пользователю добавлять, удалять или редактировать строки дата грида и еще много других свойств связанных с внешним видом. Всё можно посмотреть открыв Proprietis элемента дата грид вью. Всё названия на английском вполне понятны. Удачи!
1
irineyxxx
138 / 50 / 11
Регистрация: 18.09.2011
Сообщений: 730
29.02.2012, 18:06  [ТС] 5
Караман, Как можно при выборе значения первой ячейки выводить MessageBox - 1, а при выборе значения второй ячейки выводить MessageBox - 2 ? P.S. при выборе, щелчке мышью
0
kolorotur
Эксперт .NET
10491 / 8679 / 2158
Регистрация: 17.09.2011
Сообщений: 14,900
Завершенные тесты: 1
29.02.2012, 18:54 6
irineyxxx, лень - очень нехорошее свойство.
Я вот с этим контролом практически не работал, что там да как - понятия не имею.
Что делаю в этом случае? (дальше можете конспектировать).

Запускаю студию, создаю пустой винформс проект, кидаю на форму DataGridView, прокручиваю свойства в дизайнере, нахожу Columns, добавляю две колонки.
Дальше иду в закладку Events и смотрю что там может наиболее подойти для решения задачи. Практически в самом верху имеется событие CellClick. Вроде то, что нужно - дважды на него тыкаю, в теле класса создается метод-обработчик.
Сразу же смотрю на второй параметр "DataGridViewCellEventArgs e". Пишу в теле метода "е.", всплывает IntelliSense, в нем два свойства: ColumnIndex, RowIndex.
Пишу простой код:
C#
1
2
if (e.ColumnIndex == 0) MessageBox.Show("Hello");
else if (e.ColumnIndex == 1) MessageBox.Show("World");
Жму F5, тыкаю в первую ячейку, всплывает сообщение "Hello".

Заняло у меня все это 4 минуты с момента запуска студии. Я специально засекал.
Выводы?

P.S. Оно понятно, конечно, что метод может оказаться не идеальным, но общий принцип "научного тыка", думаю, понятен. Пользоваться им намного лучше для самообучения, чем искать какие-то мутные статьи в интернете и уж тем более лучше, чем ждать когда всё поднесут на блюдечке.
1
irineyxxx
138 / 50 / 11
Регистрация: 18.09.2011
Сообщений: 730
29.02.2012, 19:09  [ТС] 7
kolorotur, нашел в англо-язычном сайте , вот тоже самое что вы показали ) все равно +1

Добавлено через 2 минуты
kolorotur, Кстати, хотите прикол, если после добавления поменять местами индексы, например было 1 - 2 - 3 - 4 -5 -6 , и там сверху нажать поменять наооборот 6 - 5 - 4 - 3 -2 - 1

C#
1
2
if (e.ColumnIndex == 0) MessageBox.Show("Hello");
else if (e.ColumnIndex == 1) MessageBox.Show("World");
указывает не правильно
0
kolorotur
Эксперт .NET
10491 / 8679 / 2158
Регистрация: 17.09.2011
Сообщений: 14,900
Завершенные тесты: 1
29.02.2012, 20:44 8
Цитата Сообщение от irineyxxx Посмотреть сообщение
нашел в англо-язычном сайте , вот тоже самое что вы показали
Ну так оно же очевидное.

Цитата Сообщение от irineyxxx Посмотреть сообщение
если после добавления поменять местами индексы, например было 1 - 2 - 3 - 4 -5 -6 , и там сверху нажать поменять наооборот 6 - 5 - 4 - 3 -2 - 1
В смысле, если поменять местами колонки?
Да, будет показывать "не верно" если сравнивать индекс с константой.
По уму надо бы так:
C#
1
if (e.ColumnIndex = someDataGridColumn.Index) { }
1
silicium
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
01.03.2012, 18:06 9
Цитата Сообщение от kolorotur Посмотреть сообщение
лень - очень нехорошее свойство
- Умеренная лень главное свойство программиста, иначе он пишет много лишнего.

Думаю, будет интересен в плане связывания с данными следующий фрагмент кода (из off-line MSDN, кстати):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using System;
using System.Windows.Forms;
 
public enum Title
{
    King,
    Sir
};
 
public class EnumsAndComboBox : Form
{
    private DataGridView dataGridView1 = new DataGridView();
    private BindingSource bindingSource1 = new BindingSource();
 
    public EnumsAndComboBox()
    {
        this.Load += new System.EventHandler(EnumsAndComboBox_Load);
    }
 
    private void EnumsAndComboBox_Load(object sender, System.EventArgs e)
    {
        // Populate the data source.
        bindingSource1.Add(new Knight(Title.King, "Uther", true));
        bindingSource1.Add(new Knight(Title.King, "Arthur", true));
        bindingSource1.Add(new Knight(Title.Sir, "Mordred", false));
        bindingSource1.Add(new Knight(Title.Sir, "Gawain", true));
        bindingSource1.Add(new Knight(Title.Sir, "Galahad", true));
 
        // Initialize the DataGridView.
        dataGridView1.AutoGenerateColumns = false;
        dataGridView1.AutoSize = true;
        dataGridView1.DataSource = bindingSource1;
 
        dataGridView1.Columns.Add(CreateComboBoxWithEnums());
 
        // Initialize and add a text box column.
        DataGridViewColumn column = new DataGridViewTextBoxColumn();
        column.DataPropertyName = "Name";
        column.Name = "Knight";
        dataGridView1.Columns.Add(column);
 
        // Initialize and add a check box column.
        column = new DataGridViewCheckBoxColumn();
        column.DataPropertyName = "GoodGuy";
        column.Name = "Good";
        dataGridView1.Columns.Add(column);
 
        // Initialize the form.
        this.Controls.Add(dataGridView1);
        this.AutoSize = true;
        this.Text = "DataGridView object binding demo";
    }
 
    DataGridViewComboBoxColumn CreateComboBoxWithEnums()
    {
        DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
        combo.DataSource = Enum.GetValues(typeof(Title));
        combo.DataPropertyName = "Title";
        combo.Name = "Title";
        return combo;
    }
    #region "business object"
    private class Knight
    {
        private string hisName;
        private bool good;
        private Title hisTitle;
 
        public Knight(Title title, string name, bool good)
        {
            hisTitle = title;
            hisName = name;
            this.good = good;
        }
 
        public Knight()
        {
            hisTitle = Title.Sir;
            hisName = "<enter name>";
            good = true;
        }
 
        public string Name
        {
            get
            {
                return hisName;
            }
 
            set
            {
                hisName = value;
            }
        }
 
        public bool GoodGuy
        {
            get
            {
                return good;
            }
            set
            {
                good = value;
            }
        }
 
        public Title Title
        {
            get
            {
                return hisTitle;
            }
            set
            {
                hisTitle = value;
            }
        }
    }
    #endregion
 
    [STAThread]
    public static void Main()
    {
        Application.Run(new EnumsAndComboBox());
    }
 
}
А вот как заставить, чтобы связывание за тебя происходило с каким-нибудь банальным IList<myObject> не понятно...
0
iva_a
155 / 127 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.03.2012, 12:40 10
Ловите
1
Вложения
Тип файла: rar 32_C#2008-CD.rar (1.62 Мб, 67 просмотров)
05.03.2012, 12:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 12:40

WebBrowser и JavaScript - полная загрузка
Обычный .NET (не ASP, Form - консоль). Нужно парсить страницы в WebBrowser (или...

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

Полная очистка формы(в похожей теме этого нет)
как очистить форму полностью от всего, у меня в панели рисуется список(2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru