Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выпадающий список в DataGrid / 25 сообщений из 58, страница 1 из 3
15.04.2004, 14:37
    #32482817
sql2k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
подскажите если кто знает
задача:
есть сделки с разными типами валют USD, RUR, EUR
эти сделки загружены в DataGrid
хочется предоставить пользователю возможность менять валюту сделки, выбрав нужную из списка.

варианты решения:
1. возможно есть какой то метод или какое то, продуманное MS, решение
2. определять location ячейки на которую юзер кликнул и показать там загруженный комбо или лист бокс

1 вариант - я не в курсе есть ли такая метода и где искать?
2 вариант - как определить location ячейки?
---
подскажите пожалуйста ответ на любой из вариантов - первый конечно был бы лучше.
спасибо.
...
Рейтинг: 0 / 0
16.04.2004, 23:14
    #32485173
greenapple
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
...
Рейтинг: 0 / 0
29.06.2004, 10:16
    #32580403
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
А кто-нить может на пальцах объяснить как включить в проект datagrid с комбобоксом?...
...
Рейтинг: 0 / 0
29.06.2004, 10:42
    #32580486
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Дудкин
А кто-нить может на пальцах объяснить как включить в проект datagrid с комбобоксом?...


А в чем проблема то. Что обозначает "включить в проект"?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 11:05
    #32580542
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
скачал пример. хочется попробовать применить.. но возникли сложности - пытаюсь удалить лишнее из примера - ругается, в частности на датасет..
хотелось бы узнать как по шагам внедрить пример в свою программу
...
Рейтинг: 0 / 0
29.06.2004, 11:30
    #32580616
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
о возникли сложности - пытаюсь удалить лишнее из примера - ругается, в частности на датасет..


хорошо бы писать, как именно ругается, ну и приложите этот пример к своему сообщению, посмотрим

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 11:52
    #32580677
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
немножко конкретизирую.. в примере табличка создается программно, датасет тоже..
а как сделать, чтобы табличка показывала данные из датасета сгенерированного из адаптера (сделанных не программно, а перетащенных руками)?
а пример можно скачать по ссылке в сообщении тов. greenapple (оно второе сверху)
...
Рейтинг: 0 / 0
29.06.2004, 12:18
    #32580791
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Ну там уже все поделено и разбито, просто автору было лень писать tablestyle для каждого из столбцов, вот он и прогоняет их в цикле. Да и вообще рефакторить такие процедуры надо. Вам же всего лишь надо взять себе файлы:

NoKeyUpCombo.vb
DataGridComboBoxColumn.vb

И в использовать следующий код (DataGridComboBoxColumn должен быть доступен, например сделать import) :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim tableStyle As New DataGridTableStyle()
tableStyle.MappingName = "orders"  // где orders название вашей таблицы

Dim ComboTextCol As New DataGridComboBoxColumn()
ComboTextCol.MappingName = "customerID" 'must be from the grid table... ' название столбца-значение
ComboTextCol.HeaderText = "ContactCombo"  
ComboTextCol.Width =  120 

ComboTextCol.ColumnComboBox.DataSource = myDataSet.Tables("customerList").DefaultView 'dv;
ComboTextCol.ColumnComboBox.DisplayMember = "contactName"
ComboTextCol.ColumnComboBox.ValueMember = "customerID"

tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height +  2 

tableStyle.GridColumnStyles.Add(ComboTextCol) 
dataGrid1.TableStyles.Clear()
dataGrid1.TableStyles.Add(tableStyle)

Что конкретно не получается?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 12:29
    #32580823
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
спасибо, счас попробую.. со стилями проблем не было..
а проблема была вот где - я кинул на форму адаптер, сгенерировал датасет, попытался вывести данные в грид из датасета (изменив конечно стиль таблицы), но не получилось..
счас попробую через import
...
Рейтинг: 0 / 0
29.06.2004, 12:42
    #32580881
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Да этот пример вообще можно забыть, основная цель это использование в стиле своего columnstyle. Класс который реализует необходимую функциональность вынесен отдельным файлов (вернее двумя).

Ну про ошибку все еще не понятно, что за ошибка? Import здесь не обходим чтобы добраться до необходимого namespace в проекте, можно и без import все прописать.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 13:03
    #32580972
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Торможу ужасно... создаю новый проект.. пихаю в папку проекта файлы DataGridComboBoxColumn.vb и NoKeyUpCombo.vb.. пишу в коде программы (в самом начале) Imports DataGridComboBoxColumn и сразу же получаю Buil Error :(
...
Рейтинг: 0 / 0
29.06.2004, 13:12
    #32580994
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Потому что namespace называется DataGridTextBoxCombo см. файл DataGridComboBoxColumn.vb

Следовательно писать надо import DataGridTextBoxCombo

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 13:31
    #32581077
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
скопировал namespace, стало
Imports DataGridTextBoxCombo
и ничего не изменилось..
а как надо добавлять эти файлы в проект?
...
Рейтинг: 0 / 0
29.06.2004, 13:38
    #32581116
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
и ничего не изменилось..

В VS.NET:
File -> Add Existing Item

А что не изменилось? все таки вы продолжаете ничего не писать. Не компилируется? Если да? то какая ошибка?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
29.06.2004, 13:51
    #32581157
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Пишет, что namespace не может быть найден
даже счас
...
Рейтинг: 0 / 0
29.06.2004, 14:28
    #32581269
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
так и не получилось c importoм, так и пишет что namespace не найден.. а не подскажете какие строчки нужно в проект скопировать чтобы заработал Combobox?
...
Рейтинг: 0 / 0
29.06.2004, 14:47
    #32581338
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Да вообще убери namespace из этих двух файлов. Главная цель это чтобы было "видно" этот класс.
...
Рейтинг: 0 / 0
29.06.2004, 14:56
    #32581375
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
мля, прокатило вроде...
долго я тр#хался на пустом месте
так прокатило Imports combo.DataGridTextBoxCombo
спасибо
...
Рейтинг: 0 / 0
29.06.2004, 15:49
    #32581547
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Все никак не могу с comboboxoм закончить..
делаю
ComboTextCol.ColumnComboBox.DataSource = DataSet11.Tables("linii").DefaultView 'dv;
ComboTextCol.ColumnComboBox.DisplayMember = "liniya"
ComboTextCol.ColumnComboBox.ValueMember = "id_linii" '

Выводит combobox со списком, но вставляет в поле не id, а текстовое значение и, следовательно, возникает ошибка..
...
Рейтинг: 0 / 0
29.06.2004, 17:16
    #32581797
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
ДудкинВсе никак не могу с comboboxoм закончить..
делаю
ComboTextCol.ColumnComboBox.DataSource = DataSet11.Tables("linii").DefaultView 'dv;
ComboTextCol.ColumnComboBox.DisplayMember = "liniya"
ComboTextCol.ColumnComboBox.ValueMember = "id_linii" '

Выводит combobox со списком, но вставляет в поле не id, а текстовое значение и, следовательно, возникает ошибка..

Победил сие:
вотPrivate Sub LeaveComboBox(ByVal sender As Object, ByVal e As EventArgs)

If _isEditing Then
'MsgBox(ColumnComboBox.SelectedValue)
SetColumnValueAtRow(_source, _rowNum, ColumnComboBox. SelectedValue )
_isEditing = False
Invalidate()
End If
ColumnComboBox.Hide()

End Sub
но, блин, в таблице сначала выводятся id, когда входишь в ячейку выводится текст, а когда выходишь снова id в ячейке..
...
Рейтинг: 0 / 0
29.06.2004, 19:55
    #32582112
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Эка, Ты, брат Дудкин, накрутил с Imports and etc.
Бросаю спасательный круг...
P.S. По моему, там всё правильно (если нет - коллеги подправят...)
...
Рейтинг: 0 / 0
30.06.2004, 09:16
    #32582411
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
2 All спасибо за помощь. я с комбобоксом вроде разобрался, только вот пока сложность.. в таблице в поле с комбобоксами выводятся id (числа вместо текста), когда входишь в ячейку появляется комбобокс и выводится текст, а когда выходишь снова id в ячейках..
тут наверное без lookup-поля, предложенным Sa, не обойтись..
...
Рейтинг: 0 / 0
30.06.2004, 11:38
    #32582820
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Я понять не могу, что за числа и что за текстовое поле, я же в примере сделал числовое поле в БД... Всё работает... Нельзя ли поподробнее (уж очень интересно, и хочется понять в чём беда)
P.S. Кстати, не могу понять, зачем выводить на обозрение юзверя поле ID???
...
Рейтинг: 0 / 0
30.06.2004, 11:59
    #32582903
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Я вот счас как раз и выдумываю как можно сделать так, чтоб юзер видел не id, а текст (не 1, 2, 3.. а "Вася","Петя","Коля").. сделал через datarelation - добавил поле aaa, "расшифровывающее" id...
вот так'Создадим DataRelation...
Dim DR As DataRelation
DR = New DataRelation("NameDR", _
DataSet11.Tables("linii").Columns("id_linii"), _
DataSet11.Tables("containers").Columns("vladelets"))
' DataSet11.Tables("linii").Columns("id_linii")
DataSet11.Relations.Add(DR)


DataSet11.Tables("containers").Columns.Add("aaa", GetType(String), "Parent(NameDR).liniya")
потом сделал в стиле поле ааа как комбобокс, но был обруган - поле ааа только для чтения...
других путей решения пока не вижу...
vladgrigЯ понять не могу, что за числа и что за текстовое поле...
...
Рейтинг: 0 / 0
30.06.2004, 12:18
    #32582981
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выпадающий список в DataGrid
Т. е. счас стоит вопрос - можно ли изменить значение в поле только для чтения комбобоксом... а если можно то как?
если кто сталкивался с этим то, плиз, подкиньте идею..
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выпадающий список в DataGrid / 25 сообщений из 58, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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