datagrid и выделенные строки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

datagrid и выделенные строки

Сообщение ba4inskii » 24.04.2006 (Пн) 9:19

у меня есть 2-е даты (dao и ado) и 2-е датагрида
по нжатию кнопки происходит заполнение ячейки из другой data
Data_xls.Recordset.Fields("Uid").Value = data_class.Recordset.Fields("uid").Value

Подскажите плизз можно сделать так чтобы в первую таблицу в выделенные строки вносились изменения.
т.е. сейчас происходит в одну строку проставляеться из одной строки, а мне нуна что бы было: в множество из одной!
Заранее спасибо

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 24.04.2006 (Пн) 11:22

ни кто не знает?
или игнорируете?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 24.04.2006 (Пн) 11:28

ba4inskii писал(а):ни кто не знает?
или игнорируете?
Терпение есть добродетель, отсутствие - признак бакланства.
Код: Выделить всё
Data_xls.Recordset.MoveFirst
While Not Data_xls.Recordset.EOF
    Data_xls.Recordset.Fields("Uid").Value = data_class.Recordset.Fields("uid").Value
    Data_xls.Recordset.MoveNext
Wend
Лучший способ понять что-то самому — объяснить это другому.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.04.2006 (Пн) 11:28

Кто знает, тот ответит.
Ожидать ответа на форуме как в чате - глупо.
Привлекать к себе внимание на манер плача в детском саду - не менее глупо и против правил.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 24.04.2006 (Пн) 11:37

Antonariy писал(а):
ba4inskii писал(а):ни кто не знает?
или игнорируете?
Терпение есть добродетель, отсутствие - признак бакланства.
Код: Выделить всё
Data_xls.Recordset.MoveFirst
While Not Data_xls.Recordset.EOF
    Data_xls.Recordset.Fields("Uid").Value = data_class.Recordset.Fields("uid").Value
    Data_xls.Recordset.MoveNext
Wend


Antonariy код который вы привели работает точно также как и мой. Потому как выделение идет не в рекордсете, а datagrid.
Мне нужно как-то определить какие строчки выделены и им проставлять значения.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.04.2006 (Пн) 12:02

название грида , пжалуйста, напишите :!:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.04.2006 (Пн) 12:04

для Microsoft DataGrid Control 6.0 (SP6) (OLEDB)
надо смотреть коллекцию SelBookmarks[/b]

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 12:24

с этой проблемой закончил.
В дополнение к теме.
Как определить столбец в гриде над которым кликнули правой кнопкой мыши? или сумулировать нажатие левой кнопки?
заранее сенкс

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 26.04.2006 (Ср) 12:47

Object Browser (F2) писал(а):Function ColContaining(X As Single) As Integer
Member of MSDataGridLib.DataGrid
Identifies a column under an X coordinate
Лучший способ понять что-то самому — объяснить это другому.

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 13:00

Antonariy сенкс!!!

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 15:12

Antonariy еще один вопрос)
а как определить строчку над которой нажали правую кнопку мыши
DBGrid_xls2.RowContaining(Y) так не получаеться потому как он считает строчку которая отображаеться.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.04.2006 (Ср) 15:19

а может тебе будет достаточно события RowColChange :?:

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 15:26

Konst_One писал(а):а может тебе будет достаточно события RowColChange :?:

а можно про него поподробнее.
В общем мне нужно сделать активной ту ячейку над которой кликнули правой кнопкой, т.к. потом идет код
Код: Выделить всё
Main.data_xls2.Recordset.Fields("err").Value = "OK"

или предложите по другому решить проблемку! :lol: [/syntax]

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.04.2006 (Ср) 15:35

а ты проверь сначала :wink:
Код: Выделить всё
Private Sub data_xls2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then
    Debug.Print data_xls2.RowContaining(Y)
End If

End Sub

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 26.04.2006 (Ср) 15:40

а как определить строчку над которой нажали правую кнопку мыши

Взять целую часть от Y / Main.data_xls2.RowHeight
Для любителей нестандартных решений :wink:
А вообще я что, просто так писал
Object Browser (F2) писал(а):
:?:
Последний раз редактировалось Antonariy 26.04.2006 (Ср) 15:44, всего редактировалось 1 раз.
Лучший способ понять что-то самому — объяснить это другому.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 26.04.2006 (Ср) 15:41

GSerg
Правила созданы для того, что бы их нарушать (С) :wink:

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 15:43

Konst_One писал(а):а ты проверь сначала :wink:
Код: Выделить всё
Private Sub data_xls2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then
    Debug.Print data_xls2.RowContaining(Y)
End If

End Sub

проверил еще раз! у меня грид растанут до 10 строк, и data_xls2.RowContaining(Y) выводяться в пределах от 0 до 9, и не важно скоко я скролом прокрутил :(

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 15:45

Antonariy писал(а):
а как определить строчку над которой нажали правую кнопку мыши

Взять целую часть от Y / Main.data_xls2.RowHeight
Для любителей нестандартных решений :wink:
А вообще я что, просто так писал
Object Browser (F2) писал(а):
:?:

RowContaining делает тоже самое что и Y / Main.data_xls2.RowHeight

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.04.2006 (Ср) 15:48

вы батенька забыли, что это видимые ряды :D

data_xls2.FirstRow - это первый видимый ряд :!:

дальше надеюсь, что сам разберешься :wink:

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 26.04.2006 (Ср) 15:53

ba4inskii, ты настоящий робот - чуть что не вписывается в прошивку, сразу требуется вмешательство человека. Нажми F2, выбери в верхнем комбобоксе датагрид и изучай.
Function RowBookmark(RowNum As Integer)
Member of MSDataGridLib.DataGrid
Returns bookmark corresponding to a display row
Это нужно использовать в паре с RowContaining
Лучший способ понять что-то самому — объяснить это другому.

ba4inskii
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 17.04.2006 (Пн) 15:29
Откуда: с работы

Сообщение ba4inskii » 26.04.2006 (Ср) 16:48

Выражаю всем огромный фенкс!!!
Были бы рядом пивка поставил бы :lol:


Вернуться в Visual Basic 1–6

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

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

    TopList  
cron