Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123

Вывод данных в DataGridView

21.01.2014, 15:29. Показов 7809. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Есть класс.
C#
1
2
3
4
5
6
7
8
9
10
11
12
class person
{
public person(_car)
{
car = _car;
}
public car {get;set;}
};
class car
{
string model {get;set;}
};
есть такое список
C#
1
list<Person> listPerson
Содадим объект
C#
1
2
Person p = new Person(new Car("bmw"));
listPerson.add(p);
при выводи list'a в datagridview (
C#
1
datagridview.datasource = listPerson;
)в ячейки не будет названия машины. Будет примерно Program1.Car

Как сделать что бы выводилось имя машины в этом случае?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2014, 15:29
Ответы с готовыми решениями:

Вывод данных в dataGridView
Есть следующий обработчик событий кнопки добавить, при нажатии которой должны отобразиться все данные в dataGridView. private void...

Вывод данных в DataGridView
Есть DataGridView1 (в него загружаются данные из тхт файла) Как мне можно воспользоваться 2 столбцом DataGridView1, выполнить расчет и...

Вывод данных в datagridview
Помогите, пожалуйста!!! Нужно чтобы при нажатие на день в календаре выводились данные в datagridview На данный момент они выводятся только...

11
 Аватар для Temirlan90
137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
21.01.2014, 15:41
vodilawofer, Вам нужно пробегаться по списку listPerson
И внутри делать выборку.
C#
1
2
3
4
foreach (var v in listPerson)
            {
                datagridview.datasource = v.model;
            }
1
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
21.01.2014, 15:57  [ТС]
Temirlan90,
Так не получается(
0
 Аватар для Temirlan90
137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
21.01.2014, 16:12
vodilawofer, посмотрите как через цикл писать в datagridview.datasource, Я не работал с этим =)
0
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
21.01.2014, 16:16  [ТС]
Temirlan90, Дело не в цикле или в foreach, а в том что объект таким образом не выводит.
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
21.01.2014, 16:27
vodilawofer, насколько я помню, надо переопределить в классе метод ToString()
самый простой вариант -
C#
1
2
3
public overrdie void ToString() {
  return model;
}
Добавлено через 6 минут
тьфу. override пишется а не overrdie
0
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
21.01.2014, 16:37  [ТС]
valera_21, а если у меня не только model, но и еще какое нить свойство есть? тогда как быть?
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
21.01.2014, 16:42
vodilawofer, http://msdn.microsoft.com/ru-r... s.90).aspx
1
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
21.01.2014, 16:55  [ТС]
valera_21, Спасибо, хоть как то получилось
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
21.01.2014, 16:58
Лучший ответ Сообщение было отмечено как решение

Решение

А у каждой ячейки надо писать название свойства.
datagridview=>редактор столбцов. В столбцах есть настройка куда вписываешь свойство которое надо отображать в этом столбце
Миниатюры
Вывод данных в DataGridView  
3
 Аватар для Temirlan90
137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
22.01.2014, 07:06
vodilawofer, если все еще актуально
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
using System;
using System.Collections.Generic;
 
namespace CyberForumTasks
{
    class Person
    {
        public Car Car { get; set; }
 
        public Person(Car car)
        {
            Car = car;
        }
    };
    class Car
    {
        public string Model { get; set; }
    };
    class Program
    {
        static void Main()
        {
            var p = new Person(new Car()) { Car = { Model = "bmw" } };
            
            var listPerson = new List<Person> { p };
 
            foreach (var person in listPerson)
            {
                Console.WriteLine(person.Car.Model);
            }
 
            Console.ReadKey();
        }
    }
}
1
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
22.01.2014, 22:24  [ТС]
Вот как я сделал в итоге:

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 MainForm : Form
    {
public MainForm()
        { 
InitializeComponent();
dataGridView1.AutoGenerateColumns = false;
            dataGridView1.VirtualMode = true;
 
            DataGridViewTextBoxColumn model = new DataGridViewTextBoxColumn();
            name.HeaderText = "Модель";
            name.DataPropertyName = "model";
dataGridView1.Columns.Add(model);
}
private void dataGridView1_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
        {
            if (e.ColumnIndex == 1)
            {
                Person pers= dataGridView1.Rows[e.RowIndex].DataBoundItem as Person;
                if (pers != null)
                {
                    if (pers.car == null)
                        pers.car = new Courier(Convert.ToString(e.Value));
                    else
                        pers.car.model = Convert.ToString(e.Value);
                }
            }
        }
private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
                 
            if (e.ColumnIndex == 0)
            {
                Person pers= dataGridView1.Rows[e.RowIndex].DataBoundItem as Person;
                if (pers != null && pers.model != null)
                    e.Value = pers.car.model;
            }
}
На всякий случай. НИкакие методы не перегружал, как советовали ранее. Хотя и этот вариант имел на жизнь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2014, 22:24
Помогаю со студенческими работами здесь

Вывод данных из DataGridView
Как сделать так,чтобы данные из DataGrid выходили не в таком формате(картинка №1), а в другом(картинка №2)

Вывод данных из datagridview в textBox
есть datagridviwe с 3 столбцами (id,login,password).нужно что бы по нажатию на какую либо строку datagridviwe выводилось значения из...

Вывод данных из БД Access в DataGridView
Нужно вывести таблицу из БД(Access) в datagridView по нажатию кнопки.

Вывод данных datagridview в Excel
На второй форме есть заполненный массив datagriedview. Необходимо по нажатию на кнопку передать данные в Excel. В случае, когда одна форма...

Вывод табличных данных в DataGridView
Задание по С#. Дана задача по теории вероятностей, в ней дана случайная величина. Надо провести определенное количество экспериментов,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru