Kentico Unigrid OnExternalDataBound 的复选框控件在排序后不会刷新
Kentico Unigrid OnExternalDataBound's checkbox controls don't get refreshed after sorting
Kentico unigrid 控件中的自定义复选框存在问题,如下所示:
当我在 OnExternalDataBound 函数中使用复选框控件时,一切正常,除了当我单击任何排序链接时,复选框的值保持不变!?
示例:当我进行选择(例如前三项)然后对网格进行排序时,前三项仍处于选中状态,即使它们现在不再是我在排序前选择的三项.
protected object unigridXXX_OnExternalDataBound(object sender, string sourceName, object parameter)
{
var drv = (DataRowView)parameter;
var obj = (DataControlFieldCell)sender;
int reviewId = ValidationHelper.GetInteger(drv.Row["ItemID"], 0);
bool isExcludedFromEmail = ValidationHelper.GetBoolean(drv.Row["EmailExclusion"], false);
if (sourceName.ToLower() == "excludedemail")
{
CheckBox chkEmailExclusion = new CheckBox();
chkEmailExclusion.Enabled = true;
if (isAdmin || (isTrainingAdmin))
{
chkEmailExclusion.ID = "chkEmailExclusion";
chkEmailExclusion.TextAlign = TextAlign.Left;
chkEmailExclusion.Enabled = false;
chkEmailExclusion.CssClass = "excluded-email";
chkEmailExclusion.Checked = isExcludedFromEmail;
}
return chkEmailExclusion;
}
}
如果这是一个已知的错误,请告诉我,并且有解决方法。
请注意:此问题仅适用于复选框和可能的文本框控件机器人,不适用于任何其他控件。
我正在使用 Kentico v8.2.16
谢谢,
使复选框的标识符唯一。否则viewstate无法正常加载
使用这样的东西:
chkEmailExclusion.ID = "chkEmailExclusion_" + reviewId ;
另外,在条件外设置ID。在 chkEmailExclusion.Enabled = true;
.
之后
Kentico unigrid 控件中的自定义复选框存在问题,如下所示:
当我在 OnExternalDataBound 函数中使用复选框控件时,一切正常,除了当我单击任何排序链接时,复选框的值保持不变!?
示例:当我进行选择(例如前三项)然后对网格进行排序时,前三项仍处于选中状态,即使它们现在不再是我在排序前选择的三项.
protected object unigridXXX_OnExternalDataBound(object sender, string sourceName, object parameter)
{
var drv = (DataRowView)parameter;
var obj = (DataControlFieldCell)sender;
int reviewId = ValidationHelper.GetInteger(drv.Row["ItemID"], 0);
bool isExcludedFromEmail = ValidationHelper.GetBoolean(drv.Row["EmailExclusion"], false);
if (sourceName.ToLower() == "excludedemail")
{
CheckBox chkEmailExclusion = new CheckBox();
chkEmailExclusion.Enabled = true;
if (isAdmin || (isTrainingAdmin))
{
chkEmailExclusion.ID = "chkEmailExclusion";
chkEmailExclusion.TextAlign = TextAlign.Left;
chkEmailExclusion.Enabled = false;
chkEmailExclusion.CssClass = "excluded-email";
chkEmailExclusion.Checked = isExcludedFromEmail;
}
return chkEmailExclusion;
}
}
如果这是一个已知的错误,请告诉我,并且有解决方法。
请注意:此问题仅适用于复选框和可能的文本框控件机器人,不适用于任何其他控件。
我正在使用 Kentico v8.2.16
谢谢,
使复选框的标识符唯一。否则viewstate无法正常加载
使用这样的东西:
chkEmailExclusion.ID = "chkEmailExclusion_" + reviewId ;
另外,在条件外设置ID。在 chkEmailExclusion.Enabled = true;
.