Ниже приведен пример использования операции SetEaxMd для настройки условного форматирования в таблице экспресс-отчета. В запросе передается моникёр открытого экземпляра экспресс-отчета, шаблон, указывающий необходимость изменить стили условных форматов, и метаданные, содержащие два условных формата. Первый условный формат подсвечивает максимальные значения, второй - минимальные. Каждый условный формат имеет собственный стиль оформления. Результатом работы операции является моникёр измененного экспресс-отчета.
{
"SetEaxMd" :
{
"tEax" :
{
"id" : "S1!M!S!E2"
},
"tArg" :
{
"pattern" :
{
"obInst" : "false",
"gridStyle" :
{
"ops" :
{
"it" :
{
"Key" : "InternalFormatConditions",
"Value" : "Set"
}
}
}
},
"meta" :
{
"grid" :
{
"style" :
{
"internalFormatConditions" :
{
"Condition" :
[
{
"Key" : "0",
"Type" : "RankValues",
"Enabled" : "true",
"Details" :
{
"RankValues" :
{
"Type" : "0",
"Percent" : "0",
"Count" : "3",
"Style" :
{
"Font" :
{
"@B" : "true",
"@C" : "#00FF00",
"@F" : "Calibri"
}
},
"PercentUsed" : "false"
}
}
},
{
"Key" : "0",
"Type" : "RankValues",
"Enabled" : "true",
"Details" :
{
"RankValues" :
{
"Type" : "1",
"Percent" : "0",
"Count" : "3",
"Style" :
{
"Font" :
{
"@C" : "#FF0000",
"@F" : "Calibri",
"@I" : "true"
}
},
"PercentUsed" : "false"
}
}
}
]
}
}
}
}
}
}
}
{
"SetEaxMdResult" :
{
"changedDims" : "",
"id" :
{
"id" : "S1!M!S!E2"
}
}
}
public static SetEaxMdResult SetEaxFormatConditions(EaxId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tEaxMd = new SetEaxMd()
{
tArg = new SetEaxMdArg()
{
pattern = new EaxMdPattern() //Шаблон, в соответствии с которым будут изменяться метаданные
{
obInst = false,
gridStyle = new EaxGridStylePattern() //Настройка условных форматов
{
ops = new EaxGridStylePartListOpsIT[]
{
new EaxGridStylePartListOpsIT() { Key = EaxGridStylePart.InternalFormatConditions, Value = ListOperation.Set },
}
}
},
//Изменяемые метаданные
meta = new EaxMd()
{
grid = new EaxGrid() //Настройка оформления итогов
{
style = new EaxGridStyle()
{
internalFormatConditions = new TabFormatCondition[]
{
new TabFormatCondition() //Формат подствеки максимального значения
{
Type = TabConditionType.RankValues,
Enabled = true,
Details = new TabFormatConditionDetails()
{
RankValues = new TabFormatRankValues()
{
Count = 1,
Type = 0, //Максимальные значения
Style = new TabStyle()
{
Font = new TabFontStyle()
{
B = true,
BSpecified = true,
C = "#00FF00",
F = "Calibri",
}
}
}
}
},
new TabFormatCondition() //Формат подствеки минимального значения
{
Type = TabConditionType.RankValues,
Enabled = true,
Details = new TabFormatConditionDetails()
{
RankValues = new TabFormatRankValues()
{
Count = 1,
Type = 1, //Минимальное значения
Style = new TabStyle()
{
Font = new TabFontStyle()
{
I = true,
ISpecified = true,
C = "#FF0000",
F = "Calibri",
}
}
}
}
}
}
}
}
}
},
tEax = moniker
};
//Изменение параметров итогов
var result = somClient.SetEaxMd(tEaxMd);
return result;
}
См. также: