|
Шахматная доска в табличном поле | ☑ | ||
---|---|---|---|---|
0
NordMad
06.08.15
✎
17:23
|
Подскажите как можно с помощью изменения цвета фона ячеек закрасить табличное поле в шахматном порядке. размерность поля задается пользователем.
|
|||
1
drcrasher
06.08.15
✎
17:24
|
баян
|
|||
2
ДенисЧ
06.08.15
✎
17:25
|
Что пробовал и что именно не получилось?
|
|||
3
NordMad
06.08.15
✎
17:26
|
(1) дайте ссылку раз баян, я не нашел именно такой задачи
|
|||
4
vde69
06.08.15
✎
17:28
|
на инфостарте шахмат полно....
|
|||
5
vicof
06.08.15
✎
17:28
|
два цикла, одно условие, один оператор
|
|||
6
NordMad
06.08.15
✎
17:28
|
(2) пробовал сделать закраску на событии: ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) но туда не передается индекс добавляемой строки.. то есть с помощью этого события получалось только столбец закрасить.. а вот шахматный порядок не выходит.
|
|||
7
Euguln
06.08.15
✎
17:28
|
(3) соглашусь с (2), а то попрошайничеством попахивает
|
|||
8
NordMad
06.08.15
✎
17:29
|
(4) ссылку можно хоть одну?
|
|||
9
NordMad
06.08.15
✎
17:29
|
(5) это какая то загадка?:)
|
|||
10
NordMad
06.08.15
✎
17:30
|
(7) при чем тут попрошайничество? дайте ссылку хоть одну на текст или на обработку с таким заполнением. а то это на троллинг смахивает в противном случае
|
|||
11
ДенисЧ
06.08.15
✎
17:30
|
(6) А оформлениеСтроки тебе для чего дали?
Я так подозреваю, чтобы именно его и красить, как текущую строку.... поправь меня, если я не прав... |
|||
12
NordMad
06.08.15
✎
17:32
|
(11) да это понятно, и как я узнаю индекс строки то? в каком событии или каким методом? если бы мне надо было столбец закарсить - не было бы вопросов
|
|||
13
Euguln
06.08.15
✎
17:33
|
У табличного поля даже свойство есть
ТаблицаФормы (FormTable) ЧередованиеЦветовСтрок (UseAlternationRowColor) Использование: Чтение и запись. Описание: Тип: Булево. Управляет режимом чередования цветов строк. Истина - цвета чередуются. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
14
NordMad
06.08.15
✎
17:35
|
(13) я так понимаю что это я получу просто разноцветные строки как зебра.. а как для шахматной раскарски это поможет?
|
|||
15
Euguln
06.08.15
✎
17:37
|
(14) А в (11) что непонятно? Делай свою колонку и заполняй чем хочешь
|
|||
16
ДенисЧ
06.08.15
✎
17:38
|
(12) А в ДанныеСтроки заглянуть - Будда (да спаси Аллах его душу) запрещает?
|
|||
17
NordMad
06.08.15
✎
17:39
|
(15) непонятно на каком событии это делать
|
|||
18
ДенисЧ
06.08.15
✎
17:39
|
+ и там поискать НомерСтроки?
|
|||
19
Бубка Гоп
06.08.15
✎
17:39
|
(0) собеседование в подаваны? для чего это тебе?
|
|||
20
NordMad
06.08.15
✎
17:40
|
(16)
данные строки - пустые, потому что таблица таким образом создается Процедура ЗаполнитьТаблНажатие(Элемент) для ном = 1 по длн цикл элементыформы.ТаблШах.Колонки.Добавить(); КонецЦикла; для ном = 1 по шир цикл элементыформы.ТаблШах.ДобавитьСтроку(); КонецЦикла; КонецПроцедуры Процедура ТаблШахПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) КонецПроцедуры |
|||
21
Бубка Гоп
06.08.15
✎
17:40
|
ну и уточни, у тебя УФ или ОФ...
|
|||
22
NordMad
06.08.15
✎
17:40
|
(19) было в одной задаче. нет не собеседование, для себя
|
|||
23
NordMad
06.08.15
✎
17:41
|
(21) оф
|
|||
24
NordMad
06.08.15
✎
17:44
|
интересует самое главное в каком событии это делать и второе - если в событии
ПриВыводеСтроки то как получить индекс строки? чтобы понять черное или белое поле идет сначала |
|||
25
Euguln
06.08.15
✎
17:44
|
Используй ПриПолученииДанных
|
|||
26
ДенисЧ
06.08.15
✎
17:45
|
Если не лень будет - вечером набросаю...
Там делов на 2 минуты... |
|||
27
NordMad
06.08.15
✎
17:47
|
(25) а при получении данных - это разве не событие когда какие то значения присваиваются? у меня то просто там она пустая
|
|||
28
NordMad
06.08.15
✎
17:48
|
(26) охотно верю что там всё быстро.. более того в какой нить дельфе это была бы вообще не проблема, так как там есть обращение к ячейкам напрямую [,] и к их свойствам. а тут надо поизвращаться
|
|||
29
ДенисЧ
06.08.15
✎
17:48
|
(28) оформлениеСтроки["Ячейка1"].ЦветФона
И где тут изврат? |
|||
30
Euguln
06.08.15
✎
17:49
|
(27) СП украли?
|
|||
31
NordMad
06.08.15
✎
17:51
|
(29)
Процедура ТаблШахПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки[1].ЦветФона = WebЦвета.Черный; КонецПроцедуры как я узнаю когда Ячейки[1] а когда Ячейки[0]?? если я не знаю какой номер строки рисуется?? вот в чем изврат |
|||
32
Euguln
06.08.15
✎
17:51
|
Бежишь по ОформлениюСтрок, берешь номерстроки+номерколонки проверяешь на чет/нечет
|
|||
33
NordMad
06.08.15
✎
17:53
|
(32) я не совсем понимаю как это выглядит можно увидеть?
|
|||
34
Euguln
06.08.15
✎
17:54
|
ТабличноеПоле (TableBox)
ПриПолученииДанных (OnDataGet) Синтаксис: ПриПолученииДанных(<ОформленияСтрок>) Параметры: <ОформленияСтрок> Тип: ОформленияСтрок. Коллекция оформления строк табличного поля. Данную коллекцию нельзя использовать вне обработчика, т.к в момент вызова обработчика события она напрямую связана с коллекцией видимых строк табличного поля, а после окончания обработки события ее содержимое может не соответствовать коллекции видимых строк. ОформленияСтрок (RowAppearances) Элементы коллекции: ОформлениеСтроки Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются оформления строк. Возможно обращение к оформлению строки посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0). Методы: Количество (Count) Получить (Get) Описание: Представляет собой коллекцию значений типа ОформлениеСтроки. |
|||
35
Euguln
06.08.15
✎
17:54
|
(33) Ещё вопросы?
|
|||
36
NordMad
06.08.15
✎
17:57
|
(35) значит ПриВыводеСтроки тут никак?
|
|||
37
NordMad
06.08.15
✎
17:58
|
(35) индекс строки на чет нечет получить отсюда? Количество (Count)
|
|||
38
Euguln
06.08.15
✎
17:59
|
(36) Чего ты в неё так уперся?
|
|||
39
Euguln
06.08.15
✎
17:59
|
(37) нет, из Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл
|
|||
40
NordMad
06.08.15
✎
18:01
|
(39) а условия вызова события при добавлении строк?
|
|||
41
Euguln
06.08.15
✎
18:02
|
(40) Твою ж за ногу. СП внимательно почитай.
|
|||
42
Tatitutu
06.08.15
✎
18:07
|
<canvas id="c"></canvas>
<script>for(B=i=y=u=b=i=5-5,x=10,I=[],l=[];B++<304;I[B-1]=B%x?B/x%x<2|B%x<2?7:B/x&4?0:l[i++]="ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK IDHGFE".charCodeAt(y++)-64:7);function X(c,h,e,s){c^=8;for(var o,S,C,A,R,T,G,d=e&&X(c,0)>1e4,n,N=-1e8,O=20,K=78-h<<9;++O<99;)if((o=I[T=O])&&(G=o^c)<7){A=G--&2?8:4;C=o-9?l[61+G]:49;do if(!(R=I[T+=l[C]])&&!!G|A<3||(R+1^c)>9&&G|A>2){if(!(R-2&7))return K;n=G|(c?T>29:T<91)?o:6^c;S=(R&&l[R&7|32]*2-h-G)+(n-o?110:!G&&(A<2)+1);if(e>h||1<e&e==h&&S>2|d){I[T]=n;I[O]=0;S-=X(c,h+1,e,S-N);if(!(h||e-1|B-O|T-b|S<-1e4))return W(),c&&setTimeout("X(8,0,2),X(8,0,1)",75);I[O]=o;I[T]=R}if(S>N||!h&S==N&&Math.random()<.5)if(N=S,e>1)if(h?s-S<0:(B=O,b=T,0))break}while(!R&G>2||(T=O,(G||A>2|(c?O>78:O<41)&!R)&&++C*--A))}return-K+768<N|d&&N}function W(){i="<table>";for(u=18;u<99;document.body.innerHTML=i+=++u%x-9?"<th width=60 height=60 onclick='I[b="+u+"]>8?W():X(0,0,1)'style='font-size:50px'bgcolor=#"+(u-B?u*.9&1||9:"d")+"0f0e0>&#"+(I[u]?9808+l[67+I[u]]:160):u++&&"<tr>")B=b}W()</script> /////////////////////////////////////////////// Сохрани в txt потом переименуй в html открой и будет тебе счастье. Не мое (с) |
|||
43
NordMad
06.08.15
✎
18:10
|
(41) ну как я и думал оно не отрабатывает. смысл то вопроса был в том чтобы разрисовать под шахматы поле без заполнения данных. это событие возникает при как раз внесения данных. т.е. у меня оно игнорится
|
|||
44
NordMad
06.08.15
✎
18:12
|
(41)
событие не вызывается!1 Процедура ЗаполнитьТаблНажатие(Элемент) для ном = 1 по длн цикл элементыформы.ТаблШах.Колонки.Добавить(); КонецЦикла; для ном = 1 по шир цикл элементыформы.ТаблШах.ДобавитьСтроку(); КонецЦикла; КонецПроцедуры Процедура ТаблШахПриПолученииДанных(Элемент, ОформленияСтрок) для каждого строка из ОформленияСтрок цикл КонецЦикла; КонецПроцедуры |
|||
45
NordMad
06.08.15
✎
18:17
|
вот все отписались типа легко, баян и т.д. а пару строк кода рабочего так и никто не написал:)
|
|||
46
Euguln
06.08.15
✎
18:17
|
Вызови ОбновитьСтроки()
|
|||
47
Euguln
06.08.15
✎
18:18
|
(45) Тому что, постановка задачи как у девушки.
|
|||
48
NordMad
06.08.15
✎
18:19
|
(47) не вызывается от обновить строки. постановка задачи простейшая. чтоб не было как тут часто бывает - а напиши, а распиши, а разжуй.. я что экстрасенс. всё предельно коротко и ясно есть табличное поле его надо закрасить в шахматном порядке. всё
|
|||
49
Euguln
06.08.15
✎
18:21
|
(48) Ага, и только на 20 посте решил сказать, что с данными не связано, а просто накидываются колонки/строки. Кстати, оформление строки доступно на этапе элементыформы.ТаблШах.ДобавитьСтроку(). Копай туда.
|
|||
50
Lama12
06.08.15
✎
18:25
|
Вот ведь... дожили... вопросы пошли от программистов... стыдно...
|
|||
51
NordMad
06.08.15
✎
18:27
|
(49)
Извини но... хотя с ктрл+пробел вызывется функция действительно.. вот теперь я точно не понимаю почему Процедура ЗаполнитьТаблНажатие(Элемент) для номд = 1 по длн цикл элементыформы.ТаблШах.Колонки.Добавить(); для номс = 1 по шир цикл элементыформы.ТаблШах.ДобавитьСтроку(); если номд % 2 = 0 тогда ЭлементыФормы.ТаблШах.ОформлениеСтроки.Ячейки[номд].ЦветФона = WebЦвета.Черный; КонецЕсли; КонецЦикла; КОнецЦикла; КонецПроцедуры {Форма.Форма.Форма(24)}: Поле объекта не обнаружено (ОформлениеСтроки) ЭлементыФормы.ТаблШах.ОформлениеСтроки.Ячейки[номд].ЦветФона = WebЦвета.Черный; |
|||
52
NordMad
06.08.15
✎
18:28
|
(50) тут итак хватает троллей, единственный человек действительно чтото дельное пишет. спасибо ему
|
|||
53
ДенисЧ
06.08.15
✎
20:05
|
(51) Oh. My. God.
Жаль, метла занята. Зато! Утка свободна!! |
|||
54
hhhh
06.08.15
✎
20:08
|
(52) а это не троллинг вод такой бред писать?
ЭлементыФормы.ТаблШах.ОформлениеСтроки ?? да еще в количестве 150 постов? Вместо того, чтобы просто сесть и почитать книжку по 1с. |
|||
55
NordMad
06.08.15
✎
22:01
|
(54) никто по моему тут не заставляет отвечать насильно, верно? кто захотел - тот ответил.. кто не захотел, пришел поворчал и ушел. я же не к конкретно к кому то обращаюсь, а к тем кому не сложно и не так смешно ответить.
всё сделал. спасибо тем кто подсказывал |
|||
56
Euguln
07.08.15
✎
00:02
|
(51) Феерично. СП читать видимо все же не твой метод.
(44) Проверил, все вызывается и прекрасно раскрашивается. Процедура ТаблШахПриПолученииДанных(Элемент, ОформленияСтрок) номс = 1; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Для Сч= 1 По 5 Цикл если (номс+Сч) % 2 = 0 тогда ОформлениеСтроки.Ячейки["Колонка" + Сч].ЦветФона = WebЦвета.Черный; КонецЕсли; КонецЦикла; номс = номс+ 1; КонецЦикла; КонецПроцедуры |
|||
57
Euguln
07.08.15
✎
00:04
|
(56)+ *5 = длн
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |