Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как узнать цвет ячейки flexgrid? / 11 сообщений из 11, страница 1 из 1
27.03.2011, 16:59
    #37184653
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
такая задача.
при формировании flexgrid определенные ячейки(всегда разные,по условию) окрашиваются в цвет.
Можно ли как то узнать номер этого цвета в ячейке, чтоб затем его использовать в таблице excel?

ну что-то типа чтобы было:

Код: plaintext
 nSheet.Cells(r +  6 , c +  3 ).Interior.Color = ocxGrid.CellBackColor
...
Рейтинг: 0 / 0
27.03.2011, 17:04
    #37184662
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
По идее, приведенный код должен работать корректно. Что не получается?
...
Рейтинг: 0 / 0
27.03.2011, 17:09
    #37184667
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
не красит!

то есть даже если вывести в цикле после построения грида

Код: plaintext
 msgbox ocxGrid.CellBackColor

выдает одну цифру ,а ячейки разног цвета
...
Рейтинг: 0 / 0
27.03.2011, 17:11
    #37184669
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
pooli
Код: plaintext
 msgbox ocxGrid.CellBackColor

выдает одну цифру ,а ячейки разног цвета

Он выдает цвет текущей ячейки, определяемой свойствами .Row и .Col
...
Рейтинг: 0 / 0
27.03.2011, 17:14
    #37184674
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
то есть если вывести сообщение при построении цветовой гаммы, то я получаю данные, а если проходить ещераз по гриду в другом цикле то почему то не перечитывается.
...
Рейтинг: 0 / 0
27.03.2011, 17:17
    #37184677
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
pooliто есть если вывести сообщение при построении цветовой гаммы, то я получаю данные, а если проходить ещераз по гриду в другом цикле то почему то не перечитывается.
Покажите код прохода. У меня считывание цвета из ячейки проблем не вызывало.
...
Рейтинг: 0 / 0
27.03.2011, 17:27
    #37184684
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
в access все енто присходит...

это код построения по цвету

Код: 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.
Private Sub cmdAnalysis_Click()
   Dim db As Database, rst As Recordset, i, k As Integer
   Dim r, c, maxRow, maxCol, begCol As Integer
   Dim t, datTimes( 1  To  500 ) As Date
   
   highLight ("")
   startWait ("Анализ сетки")
   
   'Заполним массив datTimes
   maxRow = ocxGrid.Rows -  1 
   For r =  2  To maxRow
       If ocxGrid.TextMatrix(r,  0 ) = "" Then
          datTimes(r) =  0 
       Else
          datTimes(r) = TimeValue(ocxGrid.TextMatrix(r,  0 ))
       End If
   Next
   
   Set db = CurrentDb
   db.QueryDefs!t_Itogo_Norm.Parameters!xStationID = StationID
   db.QueryDefs!t_Itogo_Norm.Parameters!xProductID = ProductID
   db.QueryDefs!t_Itogo_Norm.Parameters!xQueryID = QueryID
   db.QueryDefs!t_Itogo_Norm.Parameters!xTime = # 12 : 00 : 00  PM#
   db.QueryDefs!t_Itogo_Norm.Parameters!xOffDown =  1 
   db.QueryDefs!t_Itogo_Norm.Parameters!xOffUp =  1 
   maxCol = IIf(ocxGrid.Cols -  2  < ocxEndDate - ocxStartDate, ocxGrid.Cols -  2 , ocxEndDate - ocxStartDate)
   
   For i =  0  To maxCol
      
      textWait ("Анализ сетки за " & Format(ocxStartDate + i, "d mmmm yyyy") & "г.")
      generateGrid StationID, ocxStartDate + i, True, OrderID
      db.QueryDefs!t_Itogo_Norm.Parameters!xDate = ocxStartDate + i
      ocxGrid.Col = i +  1 
      Set rst = db.QueryDefs!t_Itogo_Norm.OpenRecordset
      
      Do While Not rst.EOF
         t = rst!time
         r =  2 
         For r =  2  To maxRow
            If Abs(datTimes(r) - t) <  0 . 000001  Then Exit For
         Next
         ocxGrid.Row = r
         ocxGrid.CellBackColor = RGB( 200  + rst!Coeff *  55 ,  255 ,  255 )
 
  '***********************     
        msgbox ocxGrid.CellBackColor 'ТУТ ВСЕ ПОКАЗЫВАЕТ!!! 

   '***************************

         rst.MoveNext
      Loop
      rst.Close
   Next
   stopWait
End Sub


а в следующей процедуре я экспортирую данные в excel
код большой часть.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
For c =  0  To ocxGrid.Cols -  1  'брать количество столбцов начиная с нулевого
   For r =  2  To ocxGrid.Rows -  1  'брать количество строк начиная со второй
                             
           xx = ocxGrid.TextMatrix(r, c) 'часы и выходы
     
     nSheet.Cells(r +  6 , c +  3 ).Value = xx 'заполняем часы и выходы в excel

'поидее должен брать цвет!!! но не берет!
     nSheet.Cells(r +  6 , c +  3 ).Interior.ColorIndex = ocxGrid.CellBackColor

next r
next c
...
Рейтинг: 0 / 0
27.03.2011, 17:29
    #37184687
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
pooliа в следующей процедуре я экспортирую данные в excel
код большой часть.
ну и где здесь работа со свойствами .Row и .Col???
...
Рейтинг: 0 / 0
27.03.2011, 17:32
    #37184690
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
тьфу блин.....
Код: plaintext
1.
ocxGrid.Row = r:                        ocxGrid.Col = c
nSheet.Cells(r +  6 , c +  3 ).Interior.Color = ocxGrid.CellBackColor

Спасибо!
...
Рейтинг: 0 / 0
27.03.2011, 17:36
    #37184693
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
Рекомендую отключать обновление сетки на время заполнения и сканирования, чтобы пользователь не видел бегающего курсора, да и в несколько раз быстрее это будет. .Redraw кажется.
...
Рейтинг: 0 / 0
27.03.2011, 18:11
    #37184712
pooli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать цвет ячейки flexgrid?
да все так.
.Redraw=False
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как узнать цвет ячейки flexgrid? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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