Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фильтр в колонках tablePane / 7 сообщений из 7, страница 1 из 1
25.12.2009, 14:01
    #36386502
armin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
<column colName="State"
header="Закрита/відкрита"
filterOp="="
filterType="enum"
filterEnum="0, 1"
filterEnumDisplay="закрита, відкрита" />

вот так работает...но в таблице не смотрибельно выглядит 1 и 0.....делаю следующее

<column colName="case State
when '0' then 'закрита'
when '1' then 'відкрита'
else '' end as State"
header="Закрита/відкрита"
filterOp="="
filterType="enum"
filterEnum="0, 1"
filterEnumDisplay="закрита, відкрита" />

...теперь фильтр не работает ((....как это победить!!???....если можете киньте кусок кода )
...
Рейтинг: 0 / 0
25.12.2009, 14:23
    #36386568
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
armin , есть несколько вариантов работы с таблицей и фильтрами в колонках.

Код: 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.
 1 . Генерировать sql-запрос

<tablePane 
	...
	OnCreateResultSet="CrtSQL"
	...
>
...
/// Построение запроса для отображения таблицы
Method CrtSQL(Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) As %ResultSet
{
	Set tRS = ""
	
	Set tSC = $$$OK
	Set tSELECT = "ID,Name,"
	Set tSELECT = tSELECT_"wrk.Job_AllMember(ID) as Member,"
	Set tSELECT = tSELECT_"wrk.sys_Month(dEnd,1) as Brk,"
	Set tSELECT = tSELECT_"wrk.Plan_KvrToStr(Plan->ID) as Kvartal,"
	Set tSELECT = tSELECT_"wrk.Job_Ok(ID) as Ok"
	Set tFROM = "wrk.Job as a"
	Set tWHERE = ""
	Set tORDER = "dCreate Desc,Member"
	// строим критерии отбора по фильтрам
	If $g(pInfo.filters("Name"))'="" {
		Set tWHERE = tWHERE_"Name [ '"_pInfo.filters("Name")_"' "
	}
	If $g(pInfo.filters("Member"))'="" {
		Set:tWHERE'="" tWHERE=tWHERE_" AND "
		Set tWHERE=tWHERE_"wrk.Job_AllMember(ID)['"_ pInfo.filters("Member")_"'"
	}
	If $g(pInfo.filters("Ok"))'="" {
		Set:tWHERE'="" tWHERE=tWHERE_" AND "
		s ok="<>"
		s:pInfo.filters("Ok")="Да" ok="="
		Set tWHERE=tWHERE_"wrk.Job_Ok(ID)"_ok_"'Да'"
	}
	Set sql = "SELECT " _ tSELECT _ " FROM " _ tFROM
	Set:tWHERE'="" sql = sql _ " WHERE " _tWHERE
	Set:tORDER'="" sql = sql _ " ORDER BY " _tORDER
	Set tRS = ##class(%ResultSet).%New()
	Set tSC = tRS.Prepare(sql)
	Set pInfo.queryText = sql
	Quit tRS
}
...
Рейтинг: 0 / 0
25.12.2009, 14:26
    #36386580
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
2. Расписать все по колонкам...

Код: 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.
<tablePane 
	id="tpTask2" 
	tableName="wrk.Task as a LEFT OUTER JOIN wrk.Job as b ON (a.ID=b.Task)" 
	whereClause="b.ID is not NULL"
	orderByClause="a.dCreate Desc"
	valueColumn="ID"
	pageSize="20" 
	useSnapshot="true" 
	caption="Задачи в работе или завершены" 
	onselectrow='zenPage.Select(zenThis.getValue("ID"))'
	ondblclick='zenPage.Edit(zenThis.getValue("ID"));' 
	showValueInTooltip="true"
>
...
	<column 
		header="Название" 
		colName="Title" 
		colExpression="a.Title"
		filterType="text"
		filterOp="["
	/>
	<column 
		header="Исполнители" 
		colName="Member" 
		width="200px"
		colExpression="wrk.Job_AllMember(b.ID)"
	/>
...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
25.12.2009, 14:27
    #36386583
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
Самый, самый универсальный - это первый. Зато второй смотрится лучше...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
25.12.2009, 14:35
    #36386601
armin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
krvsa,

пасибо...пипец лопатить прийдется.....ща буду пробовать
...
Рейтинг: 0 / 0
25.12.2009, 15:33
    #36386803
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
включи режим showQuery="1"
и посмотри что дают тебе фильтры
потом построй фильтр так, чтобы он тебе подставлял нужные значения
...
Рейтинг: 0 / 0
25.12.2009, 15:37
    #36386814
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр в колонках tablePane
Код: plaintext
1.
2.
3.
4.
5.
6.
<column 
colExpression="case sex when 1 then 'М' when 2 then 'Ж' else 'МЖ' end" 
colName="sex"
header="Пол" 
width="60"
filterType="enum" filterEnum="М,Ж,МЖ"
/>
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фильтр в колонках tablePane / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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