powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Грид для ввода данных
19 сообщений из 19, страница 1 из 1
Грид для ввода данных
    #32625620
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У какой грид можна вводить данные с клавиатуры, но что бы он не требовал присоединенного источника данных (не через рекордсет а прямо в грид)?
Спасибо.
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625730
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если скажешь зачем такое нужно, может посоветуем чего-нить еще...
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625749
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raurесли скажешь зачем такое нужно, может посоветуем чего-нить еще...

Так ниче ж еще не посоветовали....
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625762
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
любая задача может решаться по разному....
зачем тебе такой грид?...
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625776
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обычный Data Bound Grid(DB Grid) можно. Только в свойствах установить Unbound.

Magnus
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625857
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsFlexGrid7 - то что нужно
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32625966
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvanvsFlexGrid7 - то что нужно
А где его взять? У меня только 6, но вводить с данные клавиатури туда нельзя
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626049
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23В обычный Data Bound Grid(DB Grid) можно. Только в свойствах установить Unbound.

Magnus

Как у этот DB Grid динамично строки и колонки добавлять?
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626074
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Command1_Click()
  Dim iold As Integer, inew As Integer
  Dim i As Integer
   
   inew =  0 
   
   For i =  0  To  4 
      DBGrid1.Columns.Add inew
      DBGrid1.Columns(inew).Caption = "Col " & inew
      DBGrid1.Columns(inew).Visible = True
      inew = inew +  1 
   Next
End Sub

А строки добавляются сами при вводе в нижнюю, которая сразу пуста.

Magnus
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626112
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23
А строки добавляются сами при вводе в нижнюю, которая сразу пуста.

Magnus

Пишу в строке со звездочкой, при этом появляется новая, но перейти на нее нельзя.
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626151
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем без рекордсета здесь не получится. Данные-то можно вводить прямо в гриде, но для их хранения все равно нужен рекордсет. Вполне подойдет отсоедененный.

Magnus
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626158
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23Совсем без рекордсета здесь не получится.
Magnus

Совсем без рекордсета мне совсем не подходит. Может есть какой-то грид который может работать без рекордсета?
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626161
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно только третьих фирм. Данные-то ему нужно где то хранить?
В любом случае, даже если такой есть, у него будет встреоный рекордсет.
Так можно и свой ActiveX написать : грид + рекордсет в одном флаконе.

А чем так пугает наличие отсоедененного рекордсета?
Как будешь обращатся к данным? Через ячейки грида? А поиск? Сортировка?

Сохранять данные как? Читать в цикле каждую клетку и писать в файл?

Тебя ж ведь с самого начала пытают: зачем? :)


Magnus
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626229
Фотография Shovgenyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс "Пациент" в нем коллекция "Обращения в больницу".
Клас работает с БД (записывает, извлекает, обновляет и т. д.).
Хочу создать форму для работы с класом "Пациент". У грид хочу записывать "Обращения в больницу", потом считывать с него строки в коллекцию, затем пишу, например Пациент.AddNew и всей работой с БД занимается класс. Рекордсет (отсоединенный) для хранения данных не подходит хотя бы потому что у гриде должны быть такие данные что у БД хранятся не в одной таблице (например болезнь, у гриде набо писать название словами, а у табл. БД записывается код из справочника). Если сделать рекордсет, он не обновляемый, соответственно для грида не подходит, разве что делать у БД специальную табл. для того чтобы только из нее рекордсет обновляемый открить, но этот метод мне совсем не нравится.

Приведенные примеры упрощенные, но суть проблемы они открывают. На самом деле есть класс (много классов) в нем несколько коллекций, а вних еще коллекции и т. д. В приложении будет много форм которые должни работать с разными объектами из этого класса, к тому же ети формы пишут разные люди, поэтому и написал работу с БД в классе чтобы все било в одном месте и едино для всех форм.
...
Рейтинг: 0 / 0
Грид для ввода данных
    #32626280
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл примерно ясен.
НО!
1.Почему коллекции? Есть мнение что построчное считывание в коллекцию при достаточных обьемах будет нехило тормозить. К слову сказать, сами коллекции в VB штука довольно тормозная и ограниченная в возможностях. Для полной реализации ты будешь в своем классе повторять часть функционала рекордсета. ИМХО.
2.Обновление данных в базе?
Юзер редактирует поле, данные идут в коллекцию класса, поля в котором вероятно реализованы свойствами, а оттуда построчно в базу.


Предлагаю вариант.
Есть одна интересная штука в классах, их тоже можно ставить источнниками данных(там свойствах нужно установить DataSource).
В классе создать рекордсет, отсоедененный. Он будет иметь связь с гридом(через внешний класс) и с коллекциями, по средством реакции на события рекордсета. По событиям разбрасывать данные в коллекции.


Вопрос. Из описания я так и не понял, почему нельзя использовать рекордсет?
Различие в записях не аргумент, в гриде можно показывать одну колонку а в коде и для связей использовать другую(код), ассоциированую с первой.

Что значит рекордсет не обновляемый? С какого перепугу? :)
Были у меня подобные проэкты. Для каждой формы было 2-3 класса в поддержку сущности данной формы, в классах сделаны свойства как метод доступа к полям рекордсета. Этот редордсет хранил основной(базовый) набор данных для дальнейшей работы с формой. Что и кака показывать пользователю решалось case by case. Рекордсет можно и склонировать при необходимости и далее обрабатывать изменения, перенося из в основной.
Схема обновления данных будет та же, т.к. в любом случае АДО делает его построчно.
Но рекордсет уже имеет необходимый функционал, остается только его грамотно использовать и контролировать.

Magnus
...
Рейтинг: 0 / 0
Грид для ввода данных
    #33099766
gav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23
Совсем без рекордсета здесь не получится. Данные-то можно вводить прямо в гриде, но для их хранения все равно нужен рекордсет. Вполне подойдет отсоедененный.


Просветите пожалуста насчет 'отсоединенный рекордсет'
Я правильно понимаю, что это рекордсет, предусматривающий наличие соединения со сторонним файлом, .mdb например?

Или он вообще ни с чем не соединен :) ?

Надеюсь на ответ. Спасибо.
...
Рейтинг: 0 / 0
Грид для ввода данных
    #33099994
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim rs as ADODB.Recordset

Set rs=New ADODB.Recordset
rs.CursorLocation=adUseClient
rs.Fields.Append "Field1", adVarChar,  30 , adFldIsNullable
rs.Fields.Append "Field2", adInteger, , adFldIsNullable
rs.Open

Set DataGrid1.DataSource=rs


и тд и тп
...
Рейтинг: 0 / 0
Грид для ввода данных
    #33106360
Не понял, с каких это пор в шестой всФлексГрид нельзя вводить данные с клавиатуры?!!!
...
Рейтинг: 0 / 0
Грид для ввода данных
    #33106922
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соглашусь с Магнусом. В качестве интерфейса класса над использовать рекордсет.
Механизм коллекций в шестерке очень бедный и на нем далеко не уедешь.
Модель ADO, по-моему, - лучшая основа для построения своих классов.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Грид для ввода данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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