копирование MSFlexGrid с одной формы в другую

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

копирование MSFlexGrid с одной формы в другую

Сообщение НиколайП » 04.02.2006 (Сб) 22:03

подскажите как можно скопировать заполненую MSFlexGrid таблицу ,без изменений, из одной формы в другую . И второй вопрос, как скопировать определённую часть заполненной MSFlexGrid таблицы из одной формы в другие формы.

Заранее благодарен за помощь.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 04.02.2006 (Сб) 22:22

Как вариант - пробежаться по таблице в двух циклах по строкам и столбцам, копируя данные в другую форму.
Есть еще вариант сбросить содержимое во временную таблицу и загрузить ее в другой форме. Реализации не дам. :)

По частям - точно такая же технология.

А что за таблица, - как заполняется, большая ли по объему?

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 04.02.2006 (Сб) 22:48

таблица: примерно 25 строк (кол-во может меняться), и 11 столбцов.
заполняется пользователем , по выбору из БД.

А целиком таблицу нельзя "запомнить" и потом вставить в другие формы ?
Занести содержимое каждой ячейки в переменную и потом вставить в другую таблицу (на другой форме) я могу сделать , но таких форм , в которые надо скопировать таблицу, 6 штук ... , и возможно есть способ более рациональный ?

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 05.02.2006 (Вс) 9:27

пришлось делать так:
Код: Выделить всё
For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
Form1.MSFlexGrid1.TextMatrix(i, 0) = MSFlexGrid1.TextArray(GetCellIndex(i, 0))
Form1.MSFlexGrid1.TextMatrix(i, 1) = MSFlexGrid1.TextArray(GetCellIndex(i, 1))
Form1.MSFlexGrid1.TextMatrix(i, 2) = MSFlexGrid1.TextArray(GetCellIndex(i, 2))
Form1.MSFlexGrid1.TextMatrix(i, 3) = MSFlexGrid1.TextArray(GetCellIndex(i, 3))
Form1.MSFlexGrid1.TextMatrix(i, 4) = MSFlexGrid1.TextArray(GetCellIndex(i, 4))
Form1.MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
Next

а так хотелось сделать цивилизованно ... :(

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 05.02.2006 (Вс) 10:01

НиколайП писал(а):а так хотелось сделать цивилизованно ... :(
Ну цивилизованно можно было бы так:
Код: Выделить всё
For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
  For j = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
    Form1.MSFlexGrid1.TextMatrix(i, j) = MSFlexGrid1.TextArray(GetCellIndex(i, j))
  Next j
Next i
:lol:
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 05.02.2006 (Вс) 11:45

спасибо :wink:

но мне необходимо в разные формы разные столбики с данныеми из одной таблицы вставлять ..., и столбики не обязательно будут идти в определённом порядке, к примеру:
в Form1 столбик 0,1,2,3,4
в Form2 столбик 0,1,2,3,4,5,6
в Form3 столбик 0,1,6,8,9,10,11
и т.д, всего форм 6
:cry:


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 162

    TopList