Страница: 1 | 2 |
Вопрос: VB 6, Элемент DataGrid как удалить выбранные строк
Добавлено: 30.11.05 10:40
Автор вопроса: z3f
Ответы
Всего ответов: 26
Номер ответа: 16
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #16
Добавлено: 07.12.05 10:31
имя солбца? - дык оно мне не нужно.
Имя столбца, если угодно.
Ладью тоже можно назвать турой. Но не нужно.
Имя строки - это значение того поля, которое ID.
Скажи мне.
А есть ли у тебя в таблице первичный ключ?
И если нет, то на основании чего ты собрался отличать одну строку от другой?
Номер ответа: 17
Автор ответа:
v00j00
ICQ: 249622331
Вопросов: 0
Ответов: 4
Профиль | | #17
Добавлено: 07.12.05 14:25
и в чем заключается лажа
Номер ответа: 18
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #18
Добавлено: 07.12.05 16:07
В ограниченности возможностей по сравнению с ADODB и в необходимости таскать контрол.
Номер ответа: 19
Автор ответа:
z3f
Вопросов: 3
Ответов: 10
Профиль | | #19
Добавлено: 07.12.05 17:06
конечно есть и он явлется первым столбцом с именем index
и как он может мне помочь в том чтобы запихать есть в рекорд сет
Номер ответа: 20
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #20
Добавлено: 07.12.05 17:24
Не надо запихивать есть в рекорд сет.
Если ты знаешь rst!Index, то что мешает тебе потом изменять запись, используя это значение?
Номер ответа: 21
Автор ответа:
z3f
Вопросов: 3
Ответов: 10
Профиль | | #21
Добавлено: 07.12.05 17:50
а вот мне надо это сделать!
потому что была написана процедура моим предшественником которая удаляла строку из базы по рекодсету =(
вот мне и нужно заполучить этот рекордсет долбаный =(
то есть мне нужна строчка в виде рекордсета для того чтобы удалить ее из базы...
Номер ответа: 22
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #22
Добавлено: 08.12.05 13:03
У тебя уже есть рекордсет. Это источник данных твоей сетки.
Номер ответа: 23
Автор ответа:
z3f
Вопросов: 3
Ответов: 10
Профиль | | #23
Добавлено: 08.12.05 14:09
мне нужен рекордсет состоящий из одного поля - преназначенного для удаления.
вот я и пытаюсь его организовать =(
как это сделать?
Номер ответа: 24
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #24
Добавлено: 08.12.05 16:25
Устранить кашу.
Расскажи про свою процедуру удаления.
Номер ответа: 25
Автор ответа:
artem
Вопросов: 0
Ответов: 2
Профиль | | #25
Добавлено: 22.05.10 18:17
If Y > DataGrid.RowHeight And Y < DataGrid.RowHeight * DGStudent.VisibleRows + 226 Then
If DataGrid.Row <> -1 Then
DataGrid.Row = (Y \ DGStudent.RowHeight) - 1
End If
End If
End Sub
Вот эта процедура будет выделять строку за мышью, условия на заголовок в одну строку, чтобы не забегала выше положенного и проверка на пустую таблицу, если нет строк чтобы не ругалась.
Adodc1.Recordset.Delete
Adodc1.Refresh
DataGrid.ReBind
DataGrid.Refresh
End If
а вот это можно на кнопку поместить для удаления. Единственная проблема: Refresh почему-то не обновляет таблицу, закроешь-откроешь форму и все в порядке, пытаюсь выяснить почему.
Номер ответа: 26
Автор ответа:
artem
Вопросов: 0
Ответов: 2
Профиль | | #26
Добавлено: 22.05.10 18:47
Вот нашел на другом форуме, переделал немного и все работает. Удаляет ту строку на которой находится курсор и обновляет таблицу.
кстати вот еще подсказка: если нужно чтобы в таблице вся строка следом за мышью выделялась полностью, измените параметр в DataGrid: правой кнопкой по таблице: Properties-->вкладка Splits --> поле Marquee Style --> значение 4-dbgHighlightRowRaiseCell.
И еще, чтобы не было трудно ловить нужную строку сделайте контекстное меню, и там строку "Удалить строку" и на нее вышеизложенный код. если надо как сделать контекстное меню - пишите