powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FlexGrid
21 сообщений из 21, страница 1 из 1
FlexGrid
    #36579772
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Если кто-нибудь использует компонент FlexGrid или
True DB Grid откликнитесь.
Нужна информация и желательно с примерами
...
Рейтинг: 0 / 0
FlexGrid
    #36580112
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это скорей на форум по VB. В FoxPro использовать контрол, в котором работа с данными не оптимизирована, особого смысла нет.
...
Рейтинг: 0 / 0
FlexGrid
    #36580200
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык что, нет никаких шансов пользователю
красивый ГРИД из фокса предоставить?
...
Рейтинг: 0 / 0
FlexGrid
    #36580224
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Korolyov, что в вашем понимании есть "красивый"?
...
Рейтинг: 0 / 0
FlexGrid
    #36580313
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так, как на рисунке в верхней таблице
...
Рейтинг: 0 / 0
FlexGrid
    #36580319
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри файл больше чем нужно оказался. Ща кину еще раз
...
Рейтинг: 0 / 0
FlexGrid
    #36580322
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не вижу.
...
Рейтинг: 0 / 0
FlexGrid
    #36580333
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О как хочу + картинки в ячейках + выделение цветом
...
Рейтинг: 0 / 0
FlexGrid
    #36580507
Ffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все это, в принципе, можно и в стандартном гриде сделать. Где-то в Фоксклубе даже был такой грид в решениях.
Но надо понимать, что стандартный грид оптимизирован для быстрой загрузки и просмотра данных, а в таком навороченном вы высокой скорости при больших объемах не добьетесь.

Так что, выбирайте, что важней-
субъективная красивость или удобство работы с данными.
...
Рейтинг: 0 / 0
FlexGrid
    #36580767
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что в гриде, как раз таки, и не должен присутствовать огромный объем
информации, так как в таком случае теряется сама суть информационности. Количество строк, превышающее определенного придела (скажем так более 500), мешает пользователю сосредаточится на том что нужно и замедляет его работу. Для этого в грид помещают выборку или результат запроса, ограничивающий объем информации.

Использую этот элемент можно как раз таки отобразить больше информации, так как в нем присутствует элемент ее группировки.

По поводу скорости, не думаю что технология ADO на этапе подготовки информации для отображения будет работать медленнее. Зато интерфейс по своей структуре получается более информационным, а доступ к нужному для пользователя быстрее.

Момент редактирования записи - вопрос второй, но не критический.
...
Рейтинг: 0 / 0
FlexGrid
    #36580836
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Korolyovне думаю что технология ADO на этапе подготовки информации для отображения будет работать медленнее.

Так во-первых, в стандартном ADO тоже нет такого иерархического рекордсета, как вам нужен.
FlexGrid заполняется программно, а не автоматически, как Grid в FoxPro.

А во-вторых, FoxPro работает со своими нативными данными. А это таблицы dbf или курсоры, и к ADO они никакого отношения не имеют.

При использовании ADO приходится дополнительно заниматься преобразованием из ADO в dbf и наоборот.

Так что даже при 500-х записях скорости будут ниже.

У каждого языка своя идеология и при написании программ лучше придерживаться ее.
...
Рейтинг: 0 / 0
FlexGrid
    #36581474
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да???
Мне козалось все должно быть проще.
Я нашел кусок программы для организации MSHFlexGrid,
ничего не понял, так как никогда через ADO ничего не делал,
но по виду не очень мудрено :
Код: plaintext
1.
2.
3.
4.
5.
6.
this.AddProperty('cCntStr', "Provider=MSDataShape;Data Provider=VFPOLEDB;Data Source=" ;
	+ HOME( 2 ) + "data\testdata.dbc;")
this.AddProperty('cCmdTxt', "SHAPE {SELECT * FROM Customer WHERE company LIKE ? } AS Customer ";
	+ "APPEND ({SELECT * FROM Orders} AS Orders RELATE cust_id TO cust_id) AS Orders")
thisForm.RefreshData()  
*thisForm.Resize()
this.AddProperty('bFirstOpen',.T.)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
#DEFINE adChar	 129  
#DEFINE adParamInput	 1  

LOCAL lcParam as String 
lcParam = ALLTRIM(ThisForm.Text1.Value)
IF !EMPTY(lcParam) AND ATC('%', lcParam) =  0 
	lcParam = lcParam + '%'
ENDIF
LOCAL loRS as ADODB.Recordset, lbIsRsObj as Boolean  
loRS = ThisForm.Olecontrol1.OBJECT.Recordset 
lbIsRsObj = (VARTYPE(loRS) = 'O')
IF !lbIsRsObj
	loRS = CREATEOBJECT("ADODB.Recordset")
ENDIF
LOCAL loCn as ADODB.Connection 
loCn = loRS.ActiveConnection 
IF VARTYPE(loCn) # 'O'
	loCn = CREATEOBJECT("ADODB.Connection")
	loCn.ConnectionString = ThisForm.cCntStr
ENDIF
WITH loCn
	IF .State =  0  
		.Open()
	ENDIF
ENDWITH	
LOCAL loCm as ADODB.Command
loCm = loRS.ActiveCommand
IF VARTYPE(loCm) # 'O'
	loCm = CREATEOBJECT("ADODB.Command")
	WITH loCm
		.CommandText = ThisForm.cCmdTxt
		IF loCm.Parameters.Count =  0 
			LOCAL loPr as ADODB.Parameter
			loPr = CREATEOBJECT("ADODB.Parameter")
			WITH loPr
				.Type = adChar
				.Name = "company"
				.Direction = adParamInput
				.Size =  40 
				.Value = lcParam
			ENDWITH	      
			.Parameters.Append(loPr)
		ENDIF
		.ActiveConnection = loCn
	ENDWITH	 
ELSE	
	loCm.Parameters( 0 ).Value = lcParam
ENDIF
IF !lbIsRsObj
	ThisForm.Olecontrol1.OBJECT.Recordset = loCm.Execute()
ELSE
	loRS.Requery()
	WITH ThisForm.Olecontrol1.OBJECT
		.Recordset = loRS
		.Refresh()
	ENDWITH	  	
ENDIF

Вроде как объект сам всасывает все, что ему нужно для отображения
...
Рейтинг: 0 / 0
FlexGrid
    #36581507
Ffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну возможно. SHAPE это как раз иерархический рекордсет. Я писал о стандартном. В том флексгриде, с которым я работал, такого не было. Хотя я в этом коде не вижу, где происходит объединение ячеек.

Но все остальное - про нативность данных и удобство работы все равно в силе.

P.S.
А зачем вам FoxPro, если вы с флексгридом работаете

P.P.S.
Примеры с Flexgrid, основанном на иерархическом рекордсете есть на форуме по Access.
...
Рейтинг: 0 / 0
FlexGrid
    #36581817
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всю жизнь с фоксом. Для работы с базами данных среды удобнее нет (или небыло как минимум до последнего времени). Это сейчас можно делать все что хочешь и где хочешь и через что хочешь. Проблема в том, что на фоксе создать более или менее современный интерфейс уже проблема. Вот и приходится или из него методом извращений что-то выжимать или модули подключать сторонних фирм.

Что я и пытаюсь сделать
...
Рейтинг: 0 / 0
FlexGrid
    #36581822
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Все что связано с VB меня сильно раздражает
...
Рейтинг: 0 / 0
FlexGrid
    #36582509
Для FoxPro тоже есть дополнительные контролы.
Вот здесь, например, посмотрите.
...
Рейтинг: 0 / 0
FlexGrid
    #36582899
xvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендую ctGrid от dbi-tech. Единственное, чего там нет, так это объединения ячеек
Или ctTree той-же фирмы. Это комбинация tree и grid.
...
Рейтинг: 0 / 0
FlexGrid
    #36583220
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрим. А где контрол взять?
...
Рейтинг: 0 / 0
FlexGrid
    #36583227
Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туплю. Ссылку не заметим. Спасибо. Ща покрутим
...
Рейтинг: 0 / 0
FlexGrid
    #36583501
Александр Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть несколько вариантов
...
Рейтинг: 0 / 0
FlexGrid
    #36583502
Александр Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
thisform.VSFlexGrid.clear( 0 , 0 )

thisform.VSFlexGrid.Rows =  1 
thisform.VSFlexGrid.Redraw =  0 

thisform.VSFlexGrid.AutoSize( 0 ,  1 , ,  200 )
thisform.VSFlexGrid.Redraw =  2 

thisform.VSFlexGrid.TextMatrix( 0 ,  0 ) = "Âèä íàêë."
thisform.VSFlexGrid.TextMatrix( 0 ,  1 ) = "¹"
thisform.VSFlexGrid.TextMatrix( 0 ,  2 ) = "Äàòà"
thisform.VSFlexGrid.TextMatrix( 0 ,  3 ) = "Ê볺íò"
thisform.VSFlexGrid.TextMatrix( 0 ,  4 ) = "Ðàõ."
thisform.VSFlexGrid.TextMatrix( 0 ,  5 ) = "Ñóìà"
thisform.VSFlexGrid.TextMatrix( 0 ,  6 ) = "Îïåðàòîð"
thisform.VSFlexGrid.TextMatrix( 0 ,  7 ) = "Òèï îïåð."
thisform.VSFlexGrid.TextMatrix( 0 ,  8 ) = "Òîâàð"
thisform.VSFlexGrid.TextMatrix( 0 ,  9 ) = "Ö³íà"
thisform.VSFlexGrid.TextMatrix( 0 ,  10 ) = "Ê-ñòü"
thisform.VSFlexGrid.TextMatrix( 0 ,  11 ) = "Êóðñ"
thisform.VSFlexGrid.TextMatrix( 0 ,  12 ) = "Ñóìà"
thisform.VSFlexGrid.TextMatrix( 0 ,  13 ) = "Îïåðàòîð  çì³í."
thisform.VSFlexGrid.TextMatrix( 0 ,  14 ) = "Äàòà çì³í."

select (thisform.filef)

_npos =  0 
count to _npos



do dgr_box with round(_npos/ 100 , 0 ), 'Òðèâຠçàâàíòàæåííÿ äàíèõ','...'
do dgr_mov

local i
i= 1 

select (thisform.filef)
go top
SCAN 
	if thisform.type= 21 
		thisform.VSFlexGrid.AddItem(alltrim(nametype)+'	'+;
		alltrim(str(nomn))+'	'+;
		substr(alltrim(ttoc(daten)), 1 , 10 )+'	'+;	
		alltrim(namep)+'	'+;
		alltrim(str(rah))+'	'+;	
		alltrim(str(sumall, 10 , 2 ))+'ãðí'+'	'+;
		alltrim(nameop)+'	'+;
		IIF(type1= 1 ,'Çíèùèëè',IIF(type1= 2 ,'Äîáàâèëè','Çì³íèëè'))+'	'+;
		alltrim(nametv)+'	'+;
		alltrim(str(cena_r, 12 , 2 ))+alltrim(namevaluta)+'	'+;
		alltrim(str(kol))+'	'+;
		alltrim(str(kurs))+'	'+;
		alltrim(str(cena_r*kol*kurs, 10 , 3 ))+alltrim(namevaluta)+'	'+;
		IIF(isnull(nameoped)=.t.,'Íåâ³äîìî',alltrim(nameoped))+'	'+;
		alltrim(ttoc(datenlog)) ) 
	else
		thisform.VSFlexGrid.AddItem(alltrim(nametype)+'	'+;
		alltrim(str(nomn))+'	'+;
		substr(alltrim(ttoc(daten)), 1 , 10 )+'	'+;	
		alltrim(namep)+'	'+;
		alltrim(str(rah))+'	'+;	
		alltrim(str(sumall, 10 , 2 ))+'ãðí'+'	'+;
		alltrim(nameop)+'	'+;
		IIF(type1= 1 ,'Çíèùèëè',IIF(type1= 2 ,'Äîáàâèëè','Çì³íèëè'))+'	'+;
		alltrim(nametv)+'	'+;
		alltrim(str(cena_p, 12 , 2 ))+alltrim(namevaluta)+'	'+;
		alltrim(str(kol))+'	'+;
		alltrim(str(kurs))+'	'+;
		alltrim(str(cena_p*kol*kurs, 10 , 3 ))+alltrim(namevaluta)+'	'+;
		IIF(isnull(nameoped)=.t.,'Íåâ³äîìî',alltrim(nameoped))+'	'+;
		alltrim(ttoc(datenlog)) ) 
	endif
*!*		thisform.VSFlexGrid.AddItem(alltrim(nametype)+'	'+;
*!*		alltrim(str(nomn))+'	'+;
*!*		substr(alltrim(ttoc(daten)), 1 , 10 )+'	'+;	
*!*		alltrim(namep)+'	'+;
*!*		alltrim(str(rah))+'	'+;	
*!*		alltrim(str(sumall, 10 , 2 ))+'ãðí'+'	'+;
*!*		alltrim(nameop)+'	'+;
*!*		IIF(type1= 1 ,'Çíèùèëè',IIF(type1= 2 ,'Äîáàâèëè','Çì³íèëè'))+'	'+;
*!*		alltrim(nametv)+'	'+;
*!*		alltrim(str(cena_r, 12 , 2 ))+alltrim(namevaluta)+'	'+;
*!*		alltrim(str(kol))+'	'+;
*!*		alltrim(str(kurs))+'	'+;
*!*		alltrim(str(cena_r*kol*kurs, 10 , 3 ))+alltrim(namevaluta)+'	'+;
*!*		IIF(isnull(nameoped)=.t.,'Íåâ³äîìî',alltrim(nameoped))+'	'+;
*!*		alltrim(ttoc(datenlog)) ) 
	
	IF i= 100 
		do dgr_mov
		i= 1 
	ENDIF	
    i=i +  1 
ENDSCAN

do dgr_end
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FlexGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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