Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > dataGridView. Форматированный вывод в ячейку...


Автор: jocker83 27.7.2010, 18:23
Здравствуйте.

Я прошу прощения за столь базовые вопросы, однако...

Итак, имеется dataGridView. В нем создано два столбца, каждая ячейка которого суть текст. Идея состоит в следующем: нужно из ниже расположенных 2-х ComboBox'ов прочитать информацию, и записать ее в соответствующие ячейки: из первого - в первый столбец, из второго - во второй. В рамках каждой строки dataGridView имеем 2 ячейки, и из каждого списка необходимо взять название выбранного элемента и подставить его в текст ячейки, как это схематично показано на рисунке:
http://ipicture.ru/
Так же требуется предусмотреть возможность создания новой строки, и задания в ней некоторых других элементов.

А теперь простые вопросы:
1) Как выводить текст приведенного на рисунке сорта, то есть со смешанным форматированием (что-то жирным, что-то обычным шрифтами)?
2) Как увеличить высоту заголовка столбца таблички?
3) Как удалить самые первый вспомогательный столбец (со звездочкой и стрелочкой; насколько я понял, он нужен для навигации и выбора).
4) Как по щелчку мышки на ячейке выделить сразу всю строку? Сейчас у меня реализовано как обработчик щелчка мышкой. 
Код
dataGridView1.CurrentRow.Selected = true

Но в таком случае пока я не отпустил кнопку мыши при одинарном щелчке, ячейка сначала выделяется - а затем срабатывает обработчик. А мне хотелось бы создать полную иллюзию работы со строками. Чтобы таблица по сути была "большим списком", и при щелчке на строке она сразу выделялась бы полностью. MouseDown дает тот же эффект, видимо ячейка выделяется автоматически, как только зажали кнопку.

Думаю, что в скором времени появятся еще вопросы. Так как информация хранится в файле, а не в БД, то мне главное разобраться с навигацией на программном уровне. Уж читать из файла и находить нужный номер строки, удалять, добавлять, сдвигать и т.п. действия со строками я научусь.

Еще раз извините за банальщину. 
Заранее спасибо.

Автор: mrbrooks 28.7.2010, 08:30
http://msdn.microsoft.com/ru-ru/library/e0ywh3cz(VS.90).aspx


Автор: VirusUZ 30.7.2010, 07:51
Код

datagridview1.SelectRowIndex=4;
datagridview1.Row[i].Selected=true;
datagridview1.CurrentRow.Selected=true;


Добавлено через 2 минуты и 24 секунды
Код

dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;

Автор: jocker83 30.7.2010, 18:06
VirusUZ, благодарю за очень полезные подсказки! 

Осталось только разобраться с форматированным выводом...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)