|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
Нужно создать грид, чтобы в одной записи было несколько строк (как в 1С).09.08.2007, 10:09. Показов 3087. Ответов 18
Метки нет (Все метки)
Как создать грид чтобы в одной записи было несколько строк. Это не MSHFLexgrid я имею ввиду.
В 1С это как-то реализовано, но яне пойму в чем фишка. Это свой активикс?
0
|
|
| 09.08.2007, 10:09 | |
|
Ответы с готовыми решениями:
18
Как сделать чтобы в ячейках GridView было по несколько строк текста?
|
|
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
|
|
| 11.08.2007, 14:57 | |
|
Если у тебя в БД, в этом поле записана информация, которая содержит знак перехода на новую строку (vbCrLf), то установив свойство WordWrap, DBGrid или MSFlexGrid, в состояние True получишь несколько строк в одной ячейке.Незабудь при этом увеличить высоту строки.
Armen Mnatsakanyan Certified Professional Master Visual Basic Programmer Project Manager of 'Alphabetic of Visual Basic' [russian] URL: http://www.armentel.com/avb E-Mail: am86@yahoo.com
0
|
|
|
KIO
|
|
| 12.08.2007, 01:21 | |
|
mojet, 1C ispolzuet SubForm na meste, gde vstavleno dve stroki? (a v SubForm-e i est dve TextBox-a)
|
|
|
VladK
|
|
| 12.08.2007, 08:32 | |
|
Армен,
Насколько я понял, вопрос был про создание нескольких строк на запись, а не на ячейку. Подобное вашему манипулирование с символами перевода строки и каретки я проделывал, но в обратном направлении, когда Оракловские записи писал в Excel. А вот как поместить в гриде в четных строках скажем первые 6 полей и в нечетных - последние 6. По-видимому, вопрос про это. Спасибо Влад |
|
|
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
|
|
| 12.08.2007, 09:15 | |
|
Влад,
в вашем случае, по-моему, нужно использовать код, т.к. прямое подключение с помощью DataSource не пойдет. Код будет определять первые 6 полей и четность строки, а затем будет переходить на следующую строку грида (нечетную) и писать остальные 6 полей. Armen Mnatsakanyan Certified Professional Master Visual Basic Programmer Project Manager of 'Alphabetic of Visual Basic' [russian] URL: http://www.armentel.com/avb E-Mail: am86@yahoo.com
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 12.08.2007, 09:37 [ТС] | |
|
Армен, Влад я имел ввиду следующее: В строке грида, соответствующей одной записи, не один ряд ячеек одинаковой ширины, а в два этажа ячеек причем разной ширины.(пример (слева направо): Одна большая с две размером в высоту, потом одна широкая вверху, а под ней две мелкие внизу и все это данные одной записи.)
0
|
|
|
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
|
|
| 12.08.2007, 10:23 | |
|
Понятно......Для достижения этого необходимо предварительно отформатировать грид, чтобы он имел тот вид, какой тебе нужен (как ты описал). Как это сделать можно прочесть в статье 'Использование элемента управления Microsoft FlexGrid' по по адресу http://www.vbstep.ru/articles/db/msflexgrid/index.html
Armen Mnatsakanyan Certified Professional Master Visual Basic Programmer Project Manager of 'Alphabetic of Visual Basic' [russian] URL: http://www.armentel.com/avb E-Mail: am86@yahoo.com
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 12.08.2007, 13:38 [ТС] | |
|
Ребята, я очень плохо объясняю что мне нужно. Поэтому я нарисовал - http://www.vologda.edu.ru/stud.htm
там пример таблицы, посмотрите пожалуйста, задача не так проста как кажется. Спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 05.07.2007
Сообщений: 110
|
|
| 13.08.2007, 09:04 | |
|
Если все строки грида будут одного вида, то я думаю тебе лучше всего воспользоваться DataRepeater`ом, насколько я помню, для этого необходимо создать свой OCX, который будет иметь вид одной строки грида, а затем прикрепить его к DataRepeater`у.
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 13.08.2007, 11:30 [ТС] | |
|
Мужики, а попроще ничего нет? Или посложнее. Страшно что-то датарепитер использовать, да и громоздко. Но за совет спасибо, решение есть, хотя и пугающеее.
0
|
|
|
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
|
|
| 13.08.2007, 15:30 | |
|
Привет, Отпать....
) Это снова я ...Так на счет форматирования грида...это гораздо проще чем ставить DataRepeater. Смотрел твой рисунок и по нему сделал форматировку грида, все работает, смотри код: Private Sub Form_Load() Dim R%, C% 'Форматируем MSFlexGrid 'Шапка' With MSFlexGrid1 'Определяем начальное количество строк и столбцов '(с фиксированными строками и столбцами) .Rows = 4 .Cols = 7 'Определяем фиксированные строки и столбцы .FixedRows = 2 .FixedCols = 1 'Форматируем фиксированные столбцы '0 (нулевой) столбец .ColAlignment(0) = 4 .TextMatrix(0, 0) = ' ' .TextMatrix(1, 0) = ' ' .MergeCol(0) = True '1 столбец - 'Номер' .ColAlignment(1) = 4 .TextMatrix(0, 1) = 'Номер' .TextMatrix(1, 1) = 'Номер' .MergeCol(1) = True '2 столбец верхняя строка .ColAlignment(2) = 3 .ColAlignment(3) = 3 .ColAlignment(4) = 3 .TextMatrix(0, 2) = 'Шифр' .TextMatrix(0, 3) = 'Шифр' .TextMatrix(0, 4) = 'Шифр' .MergeRow(0) = True '2 столбец нижние строки .TextMatrix(1, 2) = 'Цена 1' .TextMatrix(1, 3) = 'Цена 2' .TextMatrix(1, 4) = 'Цена 3' '3 столбец вверху .ColAlignment(5) = 3 .TextMatrix(0, 5) = 'Литера' '4 столбец вверху .ColAlignment(6) = 3 .TextMatrix(0, 6) = 'Под имя' '3 и 4 столбец (объединенный) внизу .TextMatrix(1, 5) = 'Артикул' .TextMatrix(1, 6) = 'Артикул' .MergeRow(1) = True .MergeCells = flexMergeFree End With 'К примеру имеется таблица и из нее надо извлекать данные. 'Напрямую подключиться не получится, т.к. необходимо соблюдать формат 'Подключаемся с помощью объекта DAO . 'Поля в таблице (к примеру) следующие 'F1 - ID 'F2 - номер 'F3 - шифр 'F4 - цена 1 'F5 - цена 2 'F6 - цена 3 'F7 - литера 'F8 - под имя 'F9 - артикул 'Теперь будем записывать данные в специально 'отформатированную таблицу 'Тело таблицы' 'Приводится отрывок! Просто так работать не будет! R% = 2 Do While Not rs.EOF C% = 0 With MSFlexGrid1 '0 столбец '------------------------------------------------------ .TextMatrix(R%, C%) = rs(F1) .TextMatrix(R% + 1, C%) = rs(F1) C% = C% + 1 '1 столбец '------------------------------------------------------ .TextMatrix(R%, C%) = rs(F2) .TextMatrix(R% + 1, C%) = rs(F2) C% = C% + 1 '2 - 4 столбцы (верхние и нижние) '------------------------------------------------------ .TextMatrix(R%, C%) = rs(F3) .TextMatrix(R% + 1, C%) = rs(F4) C% = C% + 1 .TextMatrix(R%, C%) = rs(F3) .TextMatrix(R% + 1, C%) = rs(F5) C% = C% + 1 .TextMatrix(R%, C%) = rs(F3) .TextMatrix(R% + 1, C%) = rs(F6) .MergeRow(R%) = True .MergeCells = flexMergeFree C% = C% + 1 '5 - 6 столбцы (верхние и нижние) '------------------------------------------------------ .TextMatrix(R%, C%) = rs(F7) .TextMatrix(R% + 1, C%) = rs(F9) C% = C% + 1 .TextMatrix(R%, C%) = rs(F8) .TextMatrix(R% + 1, C%) = rs(F9) .MergeRow(R% + 1) = True .MergeCells = flexMergeFree R% = R% + 1 'Добавляем строки в MSFlexGrid .Rows = .Rows + 2 End With rs.MoveNext Loop End Sub
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 14.08.2007, 09:40 [ТС] | |
|
Спасибо Армен. Это удачный выход из сложившейся ситуации. В 1С не так конечно сделано, да это и не важно, у них свой какой-то элемент написан наверно.
Все работает.Еще раз спасибо. В пень всю 1С
0
|
|
|
0 / 0 / 1
Регистрация: 05.11.2006
Сообщений: 133
|
|
| 14.08.2007, 10:19 | |
|
Рад, что смог вам чем то помоч
Armen Mnatsakanyan Certified Professional Master Visual Basic Programmer Project Manager of 'Alphabetic of Visual Basic' [russian] URL: http://www.armentel.com/avb E-Mail: am86@yahoo.com
0
|
|
|
YURA
|
|
| 12.09.2007, 06:01 | |
|
Sheridan DataGrid/Combo/DropDown 3.1
Он правда глючит, а в ADO с ним вообще работать не возможно, но то что в 1С - делает вполне тривиально |
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 12.09.2007, 11:16 [ТС] | |
|
Юрий, а где Шеридановские компоненты взять, я про них знал но достать не мог поэтому забил. Везде денег просят за них
Спасибо за информацию заранее.
0
|
|
|
YURA
|
|
| 12.09.2007, 11:25 | |
|
Кинь письмецо - поможем
|
|
|
0 / 0 / 0
Регистрация: 25.07.2007
Сообщений: 46
|
|
| 12.09.2007, 11:36 [ТС] | |
|
мои ящики это:
aleksei_brevnov@mail.ru aleksei_brevnov@vologda.edu.ru мыльте на любой
0
|
|
|
0 / 0 / 0
Регистрация: 05.07.2007
Сообщений: 110
|
|
| 12.09.2007, 11:44 | |
|
И мне тоже
)subsmail@rambler.ru subsmail@yandex.ru
0
|
|
|
YURA
|
|
| 12.09.2007, 12:18 | |
|
Всем желающим обращаться на
www.shersoft.com (Особо озабоченные могут взглянуть на ESIGNAL.NSK.SU, если после этого будут вопросы, то медведь со мной...) |
|
| 12.09.2007, 12:18 | |
|
Помогаю со студенческими работами здесь
19
Нужно чтобы загруженных файл можно было добавить несколько и редактировать их название Нужно чтобы после завершения одной процедуры можно было выполнить другую не выходя из программы Как создать папку и обеспечить, чтобы можно было запускать эти программы, но нельзя было бы их скопировать, переместить, удалить Как привязать несколько записей из одной таблица к одной записи в другой таблице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|