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

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

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

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

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

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

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

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

Проверит только первую запись, а мне нужно что бы проверялись все записи. И если в какой нить записи Executor="1", нужно что бы выводилось значение true. Если не в каких записях нет Executor="1", должно вернуться значение false, примерно как в примере.
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36994916
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банально просуммируйте значение поля по всему датасету.
Код: plaintext
SUM(Fields!....)
Если больше нуля, то где-то была единица.
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36995033
denverus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если мне нужно в таблице нужно найти конкретное строковое значение?
Например Executor.Value="Home".
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36995421
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denverusА если мне нужно в таблице нужно найти конкретное строковое значение?
Например Executor.Value="Home".Что в хотите с этим строковым значением делать? Проверить, есть ли где-то строка "Home"? Тогда примерно так:
Код: plaintext
1.
SUM(IIF(Fields!Executor.Value="Home", 1 , 0 ))
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36995992
denverus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да именно проверить есть ли такое строковое значение. Как попробую так сразу же отпишусь.
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36996738
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denverusТребуется что бы картинка была видна если:
В поле Executor, значение будет равно 1.
Если использовать свойство Visibility , то получится не очень красиво:
http://i057.radikal.ru/1012/e8/7b3c8096c8b4.bmp
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36996741
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не то нажал, сейчас исправлюсь...
...
Рейтинг: 0 / 0
Reporting Services SQL Server 2005 (Image)
    #36996803
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Reporting Services SQL Server 2005 (Image)
    #36998270
denverus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что, картинка сама находится не в таблице. Грубо говоря, у меня произвольно расположено 3 картинки.
- Одна должна быть видна, когда значение в поле Executor="Home"
- Вторая должна быть видна, когда Executor="otel"
- Третья должна быть видна, когда Executor="villa"

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

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

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

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

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


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