powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выпадающий список в DataGrid
25 сообщений из 58, страница 2 из 3
выпадающий список в DataGrid
    #32582998
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А... доехоло, у тебя типо две таблы и ты их соединить хочешь???
То есть, значения поля "владелец" из другой таблы???
Если я правильно понял, то думаю, соединять надо в БД и выводить в отдельную таблу, а загружать данные в DataSet уже из неё (хотя, это только моё предположение, я такого никогда не делал)
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583017
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. счас стоит вопрос - можно ли изменить значение в поле только для чтения комбобоксом... а если можно то как?
если кто сталкивался с этим то, плиз, подкиньте идею..


Есть некоторые идеи, будет время попробую

P.S. Так как я DataGrid не использую для редактирования записей, то и с такими проблемами не сталкиваюсь

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583028
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrigА... доехоло, у тебя типо две таблы и ты их соединить хочешь???
То есть, значения поля "владелец" из другой таблы???..
Ага, все именно так.. видимо придется отказаться от комбобокса в таких ситуевинах :( (когда в деле замешаны две таблицы)
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583056
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, все именно так.. видимо придется отказаться от комбобокса в таких ситуевинах :( (когда в деле замешаны две таблицы)


Что кажется мне:
придется открывать новую тему. С подробной постановкой задачи: что куда, и зачем. Как все должно выглядеть. + с указанием структуры БД.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583057
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa Есть некоторые идеи, будет время попробую
Sa, желаю Вам иметь побольше свободного времени :)
Думаю этот вопрос, точнее ответ на этот вопрос, многим будет интересен..
Sa P.S. Так как я DataGrid не использую для редактирования записей, то и с такими проблемами не сталкиваюсь
А как делаете Вы, если не секрет? Открываете все время новые формочки для редактирования?
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583066
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa Ага, все именно так.. видимо придется отказаться от комбобокса в таких ситуевинах :( (когда в деле замешаны две таблицы)


Что кажется мне:
придется открывать новую тему. С подробной постановкой задачи: что куда, и зачем. Как все должно выглядеть. + с указанием структуры БД.

Код: plaintext
 uid  =  S a

открыть новую тему?
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583085
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открывый, открывай...
там и подумаем...
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32583094
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как делаете Вы, если не секрет? Открываете все время новые формочки для редактирования?

Ага, типо этого.


открыть новую тему?

Да открывай уже. А то придет Артист и всех прибьет за откровенный offtop.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32586086
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощение за ООООчень длинный топик, но вопрос как раз по теме,
там в этом комбо есть одна загогулинка, которая мне сильно жить мешает...
Не поленитесь - ПОСМОТРИТЕ...
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32586141
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонял что требуется:

При вводе значения в ComboBox требуется добавлять его к таблице?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32586170
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...при вводе нового значения, не содержащегося в box...
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32586193
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инструкция к проблеме:

1. Запускаем проект > Debug...
2. В column "test", в самой последней строке (обозначена "*" - новая строка) вводим значение "444"
3. Нажимаем клавишу Tab (перепрыгиваем на column "test1")
4. Проблема: ...У меня значение не остаётся в ячейке... (ячейка "test",* - ПУСТАЯ)
Вопрос: как cсделать так, что бы нажимая Tab (или мышкой переходя на другой column), в ячейке ("test",*) осталось "444"???
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32586971
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, можно модифицировать ComboBox таким образом, что при вводе значения он будет добавлять запись. Только все равно не пойму для чего нужна такая функциональность?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32587522
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а, я не понимаю почему это так непонятно???
вношу я изменения в грид, соответственно в ячейке с combo ввожу значение из combo... это понятно... ну, а если мне надо добавить не содержащееся в combo значение в ячейку... как поступать в таком случае????

пример: в combo значения
1
2
3
надо добавить 4 в ячейку под combo

КАК?????
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32598253
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vladgrig

Хорошая новость - сегодня небольшой проектик по вашей проблеме я накидал. Сделал AutoComplete в DataGrid при помощи TextBox и DataView

Плохая новость - проект будет доступен только в понедельник

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32598461
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa, я знаю что припух и оборзел, но нельзя ли перевести вот этот пример на нормальный человеческий язык (то бишь VB.NET...)
А то, по моему это то что нужно мне, только на C#... а я в нём ни БУМ БУМ...
Заранее благодарен...
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32598486
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, это лажа. У меня по приличнее получилось

Мне понравились комментарии в файле:

// Примечание: Если не работает, то написано не мною. Dmitrys



Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32598587
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
ИМХО, это лажа. У меня по приличнее получилось

Чёрт, я заинтригован... Жду снетерпением... А то, спасу нет...
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32599013
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и обещал выкладываю, для работы примера требуется чтобы northwind.mdb лежал на диске C.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608341
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь применить текст для воссоздания так сказать данной задачи, возникли проблемы...(пример, кот предложен для скачивания у меня не открывается)
Вот что я сделала:

Код: plaintext
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.
'tableStyle
        '
        'tableStyle
        '
        Dim tableStyle as new
        Me.tableStyle.DataGrid = Me.grdTPositions
        Me.tableStyle.MappingName = "TPositions"

Dim ComboTextCol As New DataGridComboBoxColumn()
        ComboTextCol.MappingName = "measurement_name" 'must be from the grid table... ' название столбца-значение
        ComboTextCol.HeaderText = "Измеритель"
        ComboTextCol.Width =  120 
        '
        ComboTextCol.ColumnComboBox.DataSource = objDS_Document_Position.Tables("TPositions").DefaultView 'dv;
        ComboTextCol.ColumnComboBox.DisplayMember = "measurement_name"
        ComboTextCol.ColumnComboBox.ValueMember = "measurement_id"
        '
        tableStyle.PreferredRowHeight = ComboTextCol.ColumnComboBox.Height + 2
        '
        tableStyle.GridColumnStyles.Add(ComboTextCol)
        grdTPositions.TableStyles.Clear()
        grdTPositions.TableStyles.Add(tableStyle)
        '
        'Me.DataGridTextBoxColumn3.Format = ""
        'Me.DataGridTextBoxColumn3.FormatInfo = Nothing
        'Me.DataGridTextBoxColumn3.MappingName = ""
        'Me.DataGridTextBoxColumn3.Width =  75 

и отдельно:

Код: plaintext
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
Module Module1
    '-------------------------------------------
    'DataGridComboBoxColumn
    Public Class DataGridComboBoxColumn
        Inherits DataGridTextBoxColumn
        ' use the derived nokeyup combo to avoid tabbing problem
        Public WithEvents ColumnComboBox As NoKeyUpCombo

        Private WithEvents _source As CurrencyManager
        Private _rowNum As Integer
        Private _isEditing As Boolean

        'Fields
        'Constructors
        'Events
        'Methods
        Shared Sub New()
            'Warning: Implementation not found
        End Sub
        Public Sub New()
            MyBase.New()

            _source = Nothing
            _isEditing = False



            ColumnComboBox = New NoKeyUpCombo()
            AddHandler ColumnComboBox.Leave, New EventHandler(AddressOf LeaveComboBox)
            AddHandler ColumnComboBox.SelectionChangeCommitted, New EventHandler(AddressOf ComboStartEditing)

        End Sub
        Protected Overloads Overrides Sub Edit(ByVal source As CurrencyManager, ByVal rowNum As Integer, ByVal bounds As Rectangle, ByVal readOnly1 As Boolean, ByVal instantText As String, ByVal cellIsVisible As Boolean)


            MyBase.Edit(source, rowNum, Bounds, readOnly1, instantText, cellIsVisible)
            _rowNum = rowNum
            _source = source
            ColumnComboBox.Parent = Me.TextBox.Parent
            ColumnComboBox.Location = Me.TextBox.Location
            ColumnComboBox.Size = New Size(Me.TextBox.Size.Width, ColumnComboBox.Size.Height)
            ColumnComboBox.Text = Me.TextBox.Text
            Me.TextBox.Visible = False
            ColumnComboBox.Visible = True
            ColumnComboBox.BringToFront()
            ColumnComboBox.Focus()

        End Sub
        Protected Overloads Overrides Function Commit(ByVal dataSource As CurrencyManager, ByVal rowNum As Integer) As Boolean

            If _isEditing Then
                _isEditing = False
                SetColumnValueAtRow(dataSource, rowNum, ColumnComboBox.Text)
            End If
            Return True

        End Function
        Private Sub ComboStartEditing(ByVal sender As Object, ByVal e As EventArgs)

            _isEditing = True
            MyBase.ColumnStartedEditing(sender)

        End Sub
        Private Sub LeaveComboBox(ByVal sender As Object, ByVal e As EventArgs)

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

        End Sub
    End Class

    ' -------------------------------------------------------
 

End Module


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Module Module2
    Public Class NoKeyUpCombo
        Inherits ComboBox
        Private WM_KEYUP As Integer = &H101


        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            If m.Msg = WM_KEYUP Then
                'ignore keyup to avoid problem with tabbing & dropdownlist;
                Return
            End If
            MyBase.WndProc(m)
        End Sub 'WndProc
    End Class 'NoKeyUpCombo    
End Module

...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608395
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маленькая поправочка для tablespace:
Код: plaintext
1.
Friend WithEvents tableStyle As System.Windows.Forms.DataGridTableStyle
в самом начале моего кода начала писать и не дописала
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608404
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И теперь ЗАРАБОТАЛО??
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608413
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, я не дописала в сообщении, а там все это было
пока еще не работает
я не прошу прям досканально проверить, но если не сложно ход событий правильтный или я что-то упустила???
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608421
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему пример не работает??
Базу просит??
...
Рейтинг: 0 / 0
выпадающий список в DataGrid
    #32608504
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такой вопрос:
если у меня грид основан на таблице TPositions (position_id, document_id...,currency_id,...) , кот яв дочереней от TDocuments.
Есть еще одна таблица TCurrency (currency_id, currency_name)
И я хочу в гриде сделать одно из полей в виде выпадающего списка, в списке кот будут все наименования валюты, а высвечиваться будет значение кот числится в табл TPositions.
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выпадающий список в DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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