powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнение Datagrid
6 сообщений из 6, страница 1 из 1
Заполнение Datagrid
    #32325494
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличные данные (файл).
Нужно показать их на форме в виде таблицы.
Чтобы в Datagrid их показать нужно эмулировать таблицу.

Остановился вот на этом:
Код: plaintext
1.
2.
3.
4.
DataTable dt = new DataTable( "tmp" );
dt.Columns.Add( "ObjectId" ).DataType = System.Type.GetType( "System.Int32" );
DataRow dr = dt.NewRow();
dr.ItemArray.SetValue( "ObjectId" ,  0 );


Что с этим дальше делать?
...
Рейтинг: 0 / 0
Заполнение Datagrid
    #32325513
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то не принято во временный массив (dr.ItemArray - это выборка значений из полей в массив) заносить значения, и сразу их забывать. занеси значение непосредственно в поле записи dr["ObjectId"]=0; и добавь строку к таблице dt.Rows.Add(dr);

если файл имеет табличный вид, то к нему можно подключиться по OleDb - строка подключения примерно такая:
Provider=Microsoft.Jet.OLEDB.4.0; Data Source="c:\директория_с_файлом\"; Extended Properies="Text; HDR=No;"
Код: plaintext
1.
2.
3.
OleDbConnection  cn=new OleDbConnection(connString);
OleDbDataAdapter da=new OleDbDataAdapter( "SELECT * FROM myFile.txt" , cn);
DataTable        dt=new DataTable( "myDataTable" );
da.Fill(dt); // распарсить файл и заполнить таблицу
в итоге получишь таблицу из текстового файла. более custom-продвинутое распарсивание обеспечивает файл схемы Schema.ini
...
Рейтинг: 0 / 0
Заполнение Datagrid
    #32325555
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 кузя:
нет, файл не табличный - таблица результат разбора и преобразования.

Таблицу я создал, залил в нее нужные значения. Как теперь ее в гриде показать?
...
Рейтинг: 0 / 0
Заполнение Datagrid
    #32325560
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы показать, достаточно:
this.dataGrid1.SetDataBinding(dt, null);

чтобы красиво показать, в designer'е формы добавь в гриде к коллекции TableStyles новый стиль и в MappingName запиши имя таблицы (у тебя tmp). к стилю добавь коллекцию стилей колонок (ColumnStyles) - в них установи все нужные для показа свойства по каждой колонке (ширина, заголовок, цвет...) и MappingName = имя колонки (ObjectId, ...). Если какую то служебную колонку показывать не надо, просто не заводи на нее стиль.
...
Рейтинг: 0 / 0
Заполнение Datagrid
    #32325586
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 кузя: спасибо.
попутный вопрос: как определенную ячейку раскрасить в зависимости от ее содержимого?
...
Рейтинг: 0 / 0
Заполнение Datagrid
    #32325612
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот это уже будет посложнее - необходимо написать свой стиль для показа (как наследника от GridColumnStyle) или использовать грид от сторонних производителей.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнение Datagrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]