|
tigerxml
|
|
Неполучается отредактировать данные в MSFlexGrid17.09.2007, 17:50. Показов 2294. Ответов 1
Метки нет (Все метки)
Подскажите, почему не програмно (runtime например при клике мышкой на ячейку) не получается отредактировать данные в таблице.
Если это невозможно то посоветуйте что можно использовать(желательно не коммерческое) для создния списка свойств(название - значение, как в дельфи или VB при редактировании свойств контрола)? Заранее спасибо. |
|
| 17.09.2007, 17:50 | |
|
Ответы с готовыми решениями:
1
Как данные, возвращаемые запросом, вставить в MSFlexGrid? |
|
0 / 0 / 0
Регистрация: 28.08.2007
Сообщений: 171
|
|
| 18.09.2007, 09:20 | |
|
Редактирование данных в сетке
MSFlexGrid не имеет встроенных возможностей для редактирования значений в ячейках, но это возможно реализовать при помощи специальной процедуры Преимущество этого метода состоит в том, что Вы можете приспособить обработку данного события так как Вы хотите. Принцип метода состоит в том, что редактирование происходит не в ячейке элемента MSFlexGrid, а в стандартном элементе управления TextBox, который позиционируется точно над этой ячейкой. В данном примере, мы хотим показать юзеру два метода решения задачи редактирования значений в ячейке, первый, по двойному клику по ячейке, второй, просто печатая значение в ячейку. Следующие две прогаммы осуществляют это.: Private Sub MSFlexGrid1_DblClick() GridEdit Asc(' ') End Sub Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) GridEdit KeyAscii End Sub В каждом случае мы вызываем подпрограмму редактирования ячеек сетки и передаем в ей значения нажатых клавиш. В случае двойного нажатия, мы передаем знак пробел как флаг. Подпрограмма GridEdit инициализирует окно редактирования и перемещает его в необходимую позицию: Sub GridEdit(KeyAscii As Integer) 'использовать текущий шрифт Text1.FontName = MSFlexGrid1.FontName Text1.FontSize = MSFlexGrid1.FontSize Select Case KeyAscii Case 0 To Asc(' ') Text1 = MSFlexGrid1 Text1.SelStart = 1000 Case Else Text1 = Chr(KeyAscii) Text1.SelStart = 1 End Select 'позиционирование окна редактирования Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top Text1.Width = MSFlexGrid1.CellWidth Text1.Height = MSFlexGrid1.CellHeight Text1.Visible = True Text1.SetFocus End Sub В целях демонстрации, инструкция Case в процедуре GridEdit иллюстрирует два различных случая при переходе в режим редактирования. Практически Вы используете только один из них, или другой созданный Вами. Если режим редактирования вызван двойным щелчком, или нажатием клавиши CTRL, мы копируем содержимое ячейки в поле вывода и помещаем курсор в конец строки. Если режим редактирования вызван, нажатием любой другой клавиши, мы игнорируем первоначальное содержание ячейки и вставляем нажатую клавишу(код или символ) в окно редактирования. Позиционирование может быть сделано методом Move. Здесь мы использовали четыре строки так, чтобы это читалось более легко. Обратите внимание, что MSFLEXGRID дает нам всю координатную информацию в удобной форме.. Затем, мы нуждаемся в паре подпрограмм, которые обрабатывают служебные действия, когда пользователь перемещается в другую ячейку или перемещает фокус назад в сетку из другого контрола. Обработка события LeaveCell - также необходима, в данной процедуре Вы могли бы поместить любой код проверки правильности данных или другой . Private Sub MSFlexGrid1_LeaveCell() If Text1.Visible Then MSFlexGrid1 = Text1 Text1.Visible = False End If End Sub Private Sub MSFlexGrid1_GotFocus() If Text1.Visible Then MSFlexGrid1 = Text1 Text1.Visible = False End If End Sub Затем мы размещаем некоторый навигационный код в процедуру обработки события KeyDown окна редактирования для того, чтобы, пользователь мог остановить режим редактирования, нажимая ESC, и двигаться в любую другую строку, нажимая клавиши курсора: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape Text1.Visible = False MSFlexGrid1.SetFocus Case vbKeyReturn MSFlexGrid1.SetFocus Case vbKeyDown M
0
|
|
| 18.09.2007, 09:20 | |
|
Помогаю со студенческими работами здесь
2
Позволить пользователю самому вводить данные в MsFlexGrid Как из MSFlexGrid перенести данные в Exel 2007 ? Как загрузить в MSFlexGrid данные из буфера обмена? Получить ВСЕ данные из таблицы MSFlexGrid в двумерный массив Возможно ли в MSFlexGrid перетаскивать мышой данные из одной ячейки в другую ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|