Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Datatable в datagrid, расположение 
:(
    Опции темы
Artiom
Дата 16.11.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Есть DataGrid, к нему методом SetDataBinding привязывается DataSet. DataSet состоит из одной таблицы DataTable. Количество строк в таблице заранее неизвестно.
вопрос: как сделать так чтобы отображение таблицы совпадало по ширине и длине с DataGrid


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
-ser-
Дата 17.11.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 4
Всего: 13



по ширине DataGrid.AutoResizeColumns(),
а что значит по длине, то не понял как это.


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
Artiom
Дата 17.11.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Цитата(ser @ 17.11.2005, 07:51)
DataGrid.AutoResizeColumns()

Что-то не нашел такого метода. У меня Framework 1.1


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Riccon
Дата 18.11.2005, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 5.5.2004

Репутация: нет
Всего: нет



В MSDN нет такого метода. Кто-то свистит.
Я сам ничего не знаю, но можно так:

Код

this.dataGrid1.PreferredColumnWidth = dataGrid1.Width;


Только придется при onResize формы обновлять эти данные.
Я незнаю насколько это грамотно. Кстати, как создать событие onResize для формы формы? smile
PM MAIL   Вверх
Hidrag
Дата 20.11.2005, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: нет
Всего: 25



Можно через Reflection использовать закрытый метод DataGrid'a ColAutoResize, принимающий индекс столбца, который нужно от'autoresize'ить, см. метод OnButtonClick:
Код

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;
class MyForm: Form
{
 DataGrid dataGrid = new DataGrid();
 public MyForm()
 {
  //Инициализация DataGrid'a
  Point[] points = new Point[]{new Point(1, 10000000), new Point(10, 500)};
  dataGrid.DataSource = points;
  dataGrid.Dock = DockStyle.Top;
  //Создание кнопки
  Button button = new Button();
  button.Click += new EventHandler(OnButtonClick);
  button.Top = dataGrid.Bottom;
  //Добавление копки и DataGrida на Form'у
  Controls.AddRange(new Control[]{dataGrid, button});
 }
 void OnButtonClick(object sender, EventArgs e)
 {
  MethodInfo methodInfo = typeof(DataGrid).GetMethod("ColAutoResize", BindingFlags.Instance | BindingFlags.NonPublic);
  for (int index = 0; index < 2; index ++)
   methodInfo.Invoke(dataGrid, new object[]{index});
 }
 static void Main()
 {
  Application.Run(new MyForm());
 }
}


взято с http://www.gotdotnet.ru/DotNet/FAQ/Windows...taGrid/347.aspx


--------------------
user posted image
PM WWW ICQ   Вверх
Artiom
Дата 21.11.2005, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Hidrag
что-то я никакого эффекта не увидел


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
-ser-
Дата 23.11.2005, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 4
Всего: 13



да, код взятый с вышеуказанного сайта работает. пожалуй в 1.1 это одно из немногих решений.


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.