Is this really the version you are looking for? Kentico Xperience 12 Service Pack Documentation is no longer updated. Use the switcher in the header to choose your product version.
The UniGrid provides built-in transformations for easy formatting of the content of columns. To learn about the UniGrid transformations that are available by default, see the description of the externalsourcename column attribute in Reference - UniGrid definition.
If you need to display column values in a custom format, you can register your own UniGrid transformations:
For basic execution of initialization code, you only need to register a "code-only" module through the API. You do NOT need to create a new module within the Modules application in the Kentico administration interface.
using CMS;
using CMS.Base;
using CMS.DataEngine;
using CMS.UIControls;
using CMS.Helpers;
using CMS.PortalEngine;
// Registers the custom module into the system
[assembly: RegisterModule(typeof(CustomUniGridTransformationModule))]
public class CustomUniGridTransformationModule : Module
{
// Module class constructor, the system registers the module under the name "CustomUniGridTransformations"
public CustomUniGridTransformationModule()
: base("CustomUniGridTransformations")
{
}
// Contains initialization code that is executed when the application starts
protected override void OnInit()
{
base.OnInit();
// Registers the #customBoldText UniGrid transformation
UniGridTransformations.Global.RegisterTransformation("#customBoldText", CustomBoldText);
// Registers the #isStyleSheetCheckedOut UniGrid transformation
UniGridTransformations.Global.RegisterTransformation("#isStyleSheetCheckedOut", IsStyleSheetCheckedOut);
}
// Method that defines the #customBoldText UniGrid transformation
// Wraps the UniGrid column text value into a <strong> element
private static object CustomBoldText(object parameter)
{
return "<strong>" + ValidationHelper.GetString(parameter, "") + "</strong>";
}
// Method that defines the #isCheckedOut UniGrid transformation
// Indicates whether the specified stylesheet object is currently checked out for editing
private static object IsStyleSheetCheckedOut(object parameter)
{
// Gets the stylesheet object based on the ID in the parameter
CssStylesheetInfo stylesheet = CssStylesheetInfoProvider.GetCssStylesheetInfo(ValidationHelper.GetInteger(parameter, 0));
// Evaluates whether the stylesheet is checked out
if ((stylesheet != null) && stylesheet.Generalized.IsCheckedOut)
{
return "<span class=\"StatusEnabled\">" + ResHelper.GetString("general.yes") + "</span>";
}
return "<span class=\"StatusDisabled\">" + ResHelper.GetString("general.no") + "</span>";
}
}Once a UniGrid transformation is registered, you can use it in the externalsourcename attribute of UniGrid columns.
Examples:
...
<GridColumns>
<ug:Column Source="UserName" Caption="$general.username$" Width="100%" ExternalSourceName="#customBoldText" />
</GridColumns>
......
<columns>
<column source="StylesheetID" caption="Checked out" wrap="false" externalsourcename="#isStyleSheetCheckedOut" />
</columns>
...