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

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

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

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

Код: plaintext
 msgbox ocxGrid.CellBackColor

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

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

Он выдает цвет текущей ячейки, определяемой свойствами .Row и .Col
...
Рейтинг: 0 / 0
как узнать цвет ячейки flexgrid?
    #37184674
pooli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть если вывести сообщение при построении цветовой гаммы, то я получаю данные, а если проходить ещераз по гриду в другом цикле то почему то не перечитывается.
...
Рейтинг: 0 / 0
как узнать цвет ячейки flexgrid?
    #37184677
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pooliто есть если вывести сообщение при построении цветовой гаммы, то я получаю данные, а если проходить ещераз по гриду в другом цикле то почему то не перечитывается.
Покажите код прохода. У меня считывание цвета из ячейки проблем не вызывало.
...
Рейтинг: 0 / 0
как узнать цвет ячейки flexgrid?
    #37184684
pooli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в 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
как узнать цвет ячейки flexgrid?
    #37184687
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pooliа в следующей процедуре я экспортирую данные в excel
код большой часть.
ну и где здесь работа со свойствами .Row и .Col???
...
Рейтинг: 0 / 0
как узнать цвет ячейки flexgrid?
    #37184690
pooli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тьфу блин.....
Код: plaintext
1.
ocxGrid.Row = r:                        ocxGrid.Col = c
nSheet.Cells(r +  6 , c +  3 ).Interior.Color = ocxGrid.CellBackColor

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


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