我在Kentico 8文档中到处查找,但在UniGrid中找不到有关添加服务器或html控件的任何信息。
我需要在其中一个UniGrid列中添加一个简单的复选框或下拉列表,但我找不到任何方法来做到这一点!
我找到的唯一的东西是GridOptions.ShowSelection
,它是选择我不需要的每一行的一般选择。
任何帮助将不胜感激。
答案 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;
}
}