如何将服务器控件添加到Kentico unigrid?

时间:2015-11-09 02:20:31

标签: c# kentico unigrid

我在Kentico 8文档中到处查找,但在UniGrid中找不到有关添加服务器或html控件的任何信息。

我需要在其中一个UniGrid列中添加一个简单的复选框或下拉列表,但我找不到任何方法来做到这一点! 我找到的唯一的东西是GridOptions.ShowSelection,它是选择我不需要的每一行的一般选择。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以在Unigrid代码隐藏中跳转到事件OnExternalDataBound,例如https://devnet.kentico.com/articles/advanced-unigrid-example

创建动态新的Web部件或用户控件。

例如:

在您的XML中,您有此专栏

<column source="##ALL##" externalsourcename="yourcolumn" caption="" wrap="false" />

然后在UniGrid的代码隐藏中

protected object UniGrid_OnExternalDataBound(object sender, string sourceName, object parameter)
{
    ContextResolver resolver = CMSContext.CurrentResolver.CreateContextChild();
    DataRowView drv;

    switch (sourceName.ToLower())
    {
        case "yourcolumn":
            drv = (DataRowView)parameter;
            CheckBox chk = new CheckBox();
            chk.ID = "chkDoc";
            chk.CssClass = "normalcheckbox";
            chk.InputAttributes.Add("Value", ValidationHelper.GetString(drv["NodeGUID"], string.Empty));
            return chk;
    } 
}