Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/68: Рейтинг темы: голосов - 68, средняя оценка - 4.68
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9

Не отображаются данные в DataGridView

25.09.2008, 16:23. Показов 14675. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На форме расположен DataGridView связанный с BindingSource, который в свою очередь связан с классом PersonCollection, реализующим IEnumerable. В режиме пошагового выполнения данные заносятся в BindingSource и DataGridView, однако на самой форме в DataGridView эти данные не отображаются.

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
public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
    DataGridView _grid = new DataGridView();
    _grid.Dock = DockStyle.Fill;
    BindingSource _biSour = new BindingSource(); 
    //_biSour - объект типа BindingSource
    _biSour.DataSource = new PersonCollection(); 
    //_grid - обычный, без настроек, DataGridView
    _grid.DataSource = _biSour;
    Controls.Add(_grid);
    
  }
 
}
 
public class PersonCollection : System.Collections.IEnumerable
{
  public System.Collections.IEnumerator GetEnumerator()
  {
    for(uint i = 0; i <= 5; i++)
    {
      yield return new Person("Name_" + i.ToString(), 20 + i, 'M');
    }
  }
}
 
public class Person
{
  private string _name;
  private uint _age;
  private char _gender;
 // свойства, инкапсулирующие эти три поля
  public Person(string name, uint age, char gender) { _name = name; _age = age; _gender = gender; }
}
Добавлено через 20 часов 21 минуту 21 секунду
Как я понимаю, когда указываешь источник данных для DataGridView, то таблица должна генерироваться автоматически... однако ни одной колонки, ни записи не появляется. Мб я что-то делаю не так? Помогите, плз, в этом вопросе:'(
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.09.2008, 16:23
Ответы с готовыми решениями:

Не отображаются данные в Datagridview
Class Connect using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;...

Не отображаются данные в dataGridView?
Используется C# MySql Не отображаются данные в dataGridView. Пробовал три варианта запроса. Ни один не работает. string...

Не отображаются данные в DataGridView
Проблема достаточно глупая, но все же у меня решить ее не получилось. Проблема в следующем: у меня в бд есть данные. На форме...

5
Администратор
 Аватар для mik-a-el
87828 / 53149 / 249
Регистрация: 10.04.2006
Сообщений: 13,763
25.09.2008, 16:46
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Рабочий вариант:
Code
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
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            DataGridView _grid = new DataGridView();
            _grid.Dock = DockStyle.Fill;
            BindingSource _biSour = new BindingSource();
            //_biSour - объект типа BindingSource
            _biSour.DataSource = new PersonCollection();
            //_grid - обычный, без настроек, DataGridView
            _grid.DataSource = _biSour;
            Controls.Add(_grid);
        }
    }
 
    public class PersonCollection : System.Collections.IEnumerable
    {
        public System.Collections.IEnumerator GetEnumerator()
        {
            for (uint i = 0; i <= 5; i++)
            {
                yield return new Person("Name_" + i.ToString(), 20 + i, 'M');
            }
        }
    }
 
    public class Person
    {
        private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
 
        private uint _age;
        public uint Age
        {
            get { return _age; }
            set { _age = value; }
        }
 
        private char _gender;
        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }
 
        // свойства, инкапсулирующие эти три поля
        public Person(string name, uint age, char gender) { _name = name; _age = age; _gender = gender; }
    }
2
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
25.09.2008, 16:57
после присвоения проверь датасоурс в гриде, сделай проверку на количество строк в гриде (_grid.RowCount), если больше 0 то попробуй добавить код
Code
1
2
3
4
_grid.DataSource = _biSour;
Controls.Add(_grid);
[COLOR="Red"]            _grid.AutoSizeRowsMode =
                DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;[/COLOR]
0
Администратор
 Аватар для mik-a-el
87828 / 53149 / 249
Регистрация: 10.04.2006
Сообщений: 13,763
25.09.2008, 16:59
Цитата Сообщение от MAcK Посмотреть сообщение
после присвоения проверь датасоурс в гриде, сделай проверку на количество строк в гриде (_grid.RowCount), если больше 0 то попробуй добавить код
С источником там все в порядке. Столбцы не создавались.
0
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
25.09.2008, 20:27  [ТС]
Спасибо, все заработало!
Только вот не могу понять почему добавление свойств, сыграло в этом решающую роль...
0
Администратор
 Аватар для mik-a-el
87828 / 53149 / 249
Регистрация: 10.04.2006
Сообщений: 13,763
25.09.2008, 21:14
Цитата Сообщение от kenny69 Посмотреть сообщение
Только вот не могу понять почему добавление свойств, сыграло в этом решающую роль...
Видимо при формировании списка столбцов грида используются именно свойства, а не поля.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2008, 21:14
Помогаю со студенческими работами здесь

Не отображаются данные в DataGridView
Люди добрые, помогите!!! начал осваивать С#, из учебной БД пытаюсь получить данные. Если создавать DataGridView конструктором на форму...

Не отображаются данные в dataGridView
Добрый день. Подключил через oledbDataAdapter базу данных .mdb. Сделал dataSet из двух столбцов. Подключил все это к dataGridView....

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

Не отображаются данные из MySQL в Datagridview
Добрый день! Подскажите пожалуйста почему не отображаются данные в Datagridview? Чего только не пробовал private void...

Не правильно отображаются связанные данные из БД в DataGridview
в DataGridview загружаю данные и таблицы БД (скрин 3), в таблице одна колонка подстановка данных из другой таблицы. Колонка ФИО связана с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru