Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Services SQL Server 2005 (Image) / 21 сообщений из 21, страница 1 из 1
02.12.2010, 15:51
    #36991524
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Как привязать Image к DataSet?
...
Рейтинг: 0 / 0
02.12.2010, 16:31
    #36991640
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Требуется что бы картинка была видна если:
В поле Executor, значение будет равно 1. Но как привязать Image к определённому DataSet, я не знаю.
По идеи должно получиться что то типа того:

=IIF(
((Fields!Executor.Value, "DataSet_Tasks")="1"),false,true
)
...
Рейтинг: 0 / 0
03.12.2010, 13:07
    #36993222
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverus,

Не совсем понятно...
Картинка хранится в базе, в blob-поле?
...
Рейтинг: 0 / 0
03.12.2010, 17:34
    #36994211
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Картинка хранится в папке с проектом.
И она помещена в отчет. Но она должна быть видна, только в том случае если:
В поле Executor значение будет равной "1". Свойство за отображения отвечает Image.Visible
=IIF(
(Fields!Executor.Value="1"),false,true
)

Но как привязать этот запрос к определенному Dataset, я не знаю.

Например для компонента Table есть свойство DataSetName, которое и отвечает за связь таблице с определённом DataSet.
...
Рейтинг: 0 / 0
03.12.2010, 18:49
    #36994412
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverus,

Срочно убегаю домой, в понедельник напишу.
...
Рейтинг: 0 / 0
03.12.2010, 23:28
    #36994735
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusКартинка хранится в папке с проектом.
И она помещена в отчет. Но она должна быть видна, только в том случае если:
В поле Executor значение будет равной "1". Свойство за отображения отвечает Image.Visible
=IIF(
(Fields!Executor.Value="1"),false,true
)

Но как привязать этот запрос к определенному Dataset, я не знаю.

Например для компонента Table есть свойство DataSetName, которое и отвечает за связь таблице с определённом DataSet.В общем случае в датасете записей может быть много. Значение поля Executor какой записи будем проверять? Первой, второй, десятой, последней? Пока это не определите, невозможно будет корректно написать формулу.
...
Рейтинг: 0 / 0
04.12.2010, 00:16
    #36994758
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Мне нужно проверить все записи...
Например:
=IIF(
(First(Fields!Executor.Value, "DataSet_Tasks")="1"),false,true
)

Проверит только первую запись, а мне нужно что бы проверялись все записи. И если в какой нить записи Executor="1", нужно что бы выводилось значение true. Если не в каких записях нет Executor="1", должно вернуться значение false, примерно как в примере.
...
Рейтинг: 0 / 0
04.12.2010, 11:00
    #36994916
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Банально просуммируйте значение поля по всему датасету.
Код: plaintext
SUM(Fields!....)
Если больше нуля, то где-то была единица.
...
Рейтинг: 0 / 0
04.12.2010, 13:36
    #36995033
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
А если мне нужно в таблице нужно найти конкретное строковое значение?
Например Executor.Value="Home".
...
Рейтинг: 0 / 0
04.12.2010, 22:46
    #36995421
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusА если мне нужно в таблице нужно найти конкретное строковое значение?
Например Executor.Value="Home".Что в хотите с этим строковым значением делать? Проверить, есть ли где-то строка "Home"? Тогда примерно так:
Код: plaintext
1.
SUM(IIF(Fields!Executor.Value="Home", 1 , 0 ))
...
Рейтинг: 0 / 0
05.12.2010, 19:39
    #36995992
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Да именно проверить есть ли такое строковое значение. Как попробую так сразу же отпишусь.
...
Рейтинг: 0 / 0
06.12.2010, 11:41
    #36996738
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusТребуется что бы картинка была видна если:
В поле Executor, значение будет равно 1.
Если использовать свойство Visibility , то получится не очень красиво:
http://i057.radikal.ru/1012/e8/7b3c8096c8b4.bmp
...
Рейтинг: 0 / 0
06.12.2010, 11:42
    #36996741
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Не то нажал, сейчас исправлюсь...
...
Рейтинг: 0 / 0
06.12.2010, 12:09
    #36996803
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusТребуется что бы картинка была видна если:
В поле Executor, значение будет равно 1.
Если использовать свойство Visibility , то получится не очень красиво:


Лучше использовать вторую маленькую картинку в 1 пиксель размером:


Делал так:
1. Создал в таблице пустую колонку с заголовком img
2. Перетащил в новую пустую ячейку компонент Image
3. Появится окно мастера, нажимал Next -> Next, пока не закроется.
4. Далее нажать F4 , чтобы появилось окно свойств нашего Image
5. В свойстве Value пишем
Код: plaintext
=iif(Fields!Executor.Value = "1", "ok", "pusto")
6. Свойство Sizing = Clip

Проект с картинками "ok.bmp" и "pusto.bmp" прилагаю.
...
Рейтинг: 0 / 0
06.12.2010, 22:14
    #36998270
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Дело в том что, картинка сама находится не в таблице. Грубо говоря, у меня произвольно расположено 3 картинки.
- Одна должна быть видна, когда значение в поле Executor="Home"
- Вторая должна быть видна, когда Executor="otel"
- Третья должна быть видна, когда Executor="villa"

Все 3 картинки помещены, на основной форме, а не на таблице.
Все картинки присутствуют на форме, некоторые видны, некоторые нет, может быть такое, что они все будут видны или и вовсе не будут видны.
...
Рейтинг: 0 / 0
07.12.2010, 11:29
    #36998861
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverus,
Попробуйте описанный мной подход.
...
Рейтинг: 0 / 0
07.12.2010, 13:45
    #36999314
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
При запросе:
=SUM(IIF(Fields!Executor.Value = "Home",false, true),"DataSet")
Изображение видно всегда.

Так что это не работает.
...
Рейтинг: 0 / 0
07.12.2010, 16:59
    #37000042
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusПри запросе:
=SUM(IIF(Fields!Executor.Value = "Home",false, true),"DataSet")
Изображение видно всегда.

Так что это не работает.
Я бы попробовал сделать на T-SQL, например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @t table (Executor varchar( 500 ))

/* Здесь по полной программе: есть и Home и otel и villa */
insert @t 
 select 'otel' union all select 'flat' union all select 'villa' union all select 'Home' union all select 'otel' union all select 'tower'

select * from @t

-- Проверяем, сколько всего в наличии
;with cte (ex) as
(
 select 'home' union all select 'otel' union all select 'villa'
)
select distinct cte.ex, count(t.Executor) over (partition by t.Executor) [cnt]
from cte
left join
(select Executor from @t) t
on cte.ex = t.executor

Да, столбец cnt везде больше 0
excnthome1otel2villa1


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
/* Уберем отели */
delete from @t where executor = 'otel'

-- Опять проверяем тем же запросом.
;with cte (ex) as
(
 select 'home' union all select 'otel' union all select 'villa'
)
select distinct cte.ex, count(t.Executor) over (partition by t.Executor) [cnt]
from cte
left join
(select Executor from @t) t
on cte.ex = t.executor

Отелей = 0
ex cnthome 1otel 0villa 1


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/* Уберем Home, otel, villa */
delete from @t where executor in ('home', 'otel', 'villa')

-- Тот же проверочный запрос
;with cte (ex) as
(
 select 'home' union all select 'otel' union all select 'villa'
)
select distinct cte.ex, count(t.Executor) over (partition by t.Executor) [cnt]
from cte
left join
(select Executor from @t) t
on cte.ex = t.executor

Все по нулям
excnthome0otel0villa0


Далее в компоненте Image на свойсво Hidden что-то типа такого
Код: plaintext
=iif((Fields!Executor.Value = "home" and Fields!cnt.Value >  0 ), false, true)
...
Рейтинг: 0 / 0
07.12.2010, 18:20
    #37000268
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
Я смог присоединить DataSet к Image, через компонент List, я поместил Image на List, а List присоединил к DataSet.
Запрос =IIF(Fields!Executor.Value = "Home",false, true)
Работает, но только, у меня почему то появляются копии картинки, которая появилась, которые опускаются в низ отчета. Их количество равно (числу записей в таблице)-1. Как мне вывести только 1 картинку, а копии не выводить.
Попробовал еще так, такой же результат.
=iif(count(IIF(Fields!Executor.Value = "BPC",1, 0))>0, false,true)
...
Рейтинг: 0 / 0
07.12.2010, 23:15
    #37000807
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
denverusПри запросе:
=SUM(IIF(Fields!Executor.Value = "Home",false, true),"DataSet")
Изображение видно всегда.

Так что это не работает.Ну, неужели сложно было догадаться, что нужно сумму еще IIF-ом обернуть?!
Банальная задача же.
...
Рейтинг: 0 / 0
08.12.2010, 21:17
    #37003212
denverus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Services SQL Server 2005 (Image)
BigheadmandenverusПри запросе:
=SUM(IIF(Fields!Executor.Value = "Home",false, true),"DataSet")
Изображение видно всегда.

Так что это не работает.Ну, неужели сложно было догадаться, что нужно сумму еще IIF-ом обернуть?!
Банальная задача же.

Согласен, но сам, к сожалению не смог разобраться.
Если возможно, напишите код, что вы имели ввиду.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Services SQL Server 2005 (Image) / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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