Как узнать DataColumn свянную с тек. ячейкой грида

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

dklmn
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 23.03.2004 (Вт) 12:21

Как узнать DataColumn свянную с тек. ячейкой грида

Сообщение dklmn » 25.07.2005 (Пн) 14:31

Народ, не обделите добрыми или недобрыми советами...
У меня вроде бы простой вопрос.
Простой для того кто знает ответ или знает где искать ответ, но не для меня :-(
есть на форме датгрид dgTabDoc связанный с DataTable , я хочу знать в обработчике события dgTabDoc.Click
во первых , ряд связанной таблицы данных , во вторых, связанную с этой ячейкой грида колонку, ну с рядом я вроде разобрался..
это делается вот так..
Код: Выделить всё

Private Sub dgTabDoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgTabDoc.Click
        Dim dg As DataGrid
        Dim dv As DataView = New DataView
        Dim fltrExpr As String
        dg = CType(sender, DataGrid)
        dg.CurrentCell.
        Dim manager As CurrencyManager = CType(BindingContext(dg.DataSource), CurrencyManager)
        Dim rowView As DataRowView = CType(manager.Current, DataRowView)
        Dim keyProd As String = rowView.Row.Item("keyProd")

а колонку то мне как узнать?

Я задавал вопрос на http://www.gotdotnet.ru/
- чо та молчат ... - то ли неясно вопросы формулирую толи ответ чересчур очевиден..

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 26.07.2005 (Вт) 10:30

А свойства RowNumber и ColumnNumber объекта CurrentCell не катят?

dklmn
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 23.03.2004 (Вт) 12:21

Сообщение dklmn » 26.07.2005 (Вт) 16:20

Gloom писал(а):А свойства RowNumber и ColumnNumber объекта CurrentCell не катят?

Свойства columnNumber относятся к гриду
а мне надо узнать колонку DataTable, что в большинсве случаев не одно и тоже

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 27.07.2005 (Ср) 12:00

dklmn писал(а):Свойства columnNumber относятся к гриду
а мне надо узнать колонку DataTable, что в большинсве случаев не одно и тоже

Тады так:
Код: Выделить всё
        Dim tableStyle As New DataGridTableStyle(manager)
        MessageBox.Show(tableStyle.GridColumnStyles(dg.CurrentCell.ColumnNumber).MappingName)

dklmn
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 23.03.2004 (Вт) 12:21

Сообщение dklmn » 28.07.2005 (Чт) 18:12

ага, спасибо, то что нужно
Код: Выделить всё
Public Function GetColName(ByVal dgridSender As DataGrid) As String
        'получаем названии колонки datatable которая соотв текущей колонки грида для которого источнико данных явл этот datatable
        Dim dtabDataSource As DataTable = dgridSender.DataSource
        Dim dgtsCurrent _
           As System.Windows.Forms.DataGridTableStyle = _
                 dgridSender.TableStyles(dtabDataSource.TableName)
        With dgridSender.CurrentCell
            GetColName = dgtsCurrent.GridColumnStyles(.ColumnNumber).MappingName
        End With
        Return GetColName
    End Function

dklmn
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 23.03.2004 (Вт) 12:21

Сообщение dklmn » 28.07.2005 (Чт) 18:38

правда если в качестве датасоса для датаграда окажется не просто дататейбл а DataView
тогда чтобы не сваливаться в invaliCastexeption придется еще дополнительно поприседать вроде как
'************
ElseIf dtabDataSourceUnklown.GetType Is GetType(DataView) Then
Dim dtabDataSource As DataView = CType(dtabDataSourceUnklown, DataView)
...............
'*******************


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79

    TopList