Всякий раз, когда я нажимаю флажок и смотрю на измененное значение значения ячейки, значение всегда ложно, если флажок был первоначально снят и всегда истинным, если флажок был первоначально установлен ...Управление флажком RadGridView всегда ложно
Обновление: Итак, когда я устанавливаю флажок - и тогда ячейка теряет фокус, она возвращается обратно в исходное состояние - но не знаю почему ???
Почему это и как мне обойти это?
private void CellValueChanged(object sender, GridViewCellEventArgs e)
{
//e.Value always false or true depending on original state
}
Update:
Наполнение GridView
public void PopulateEvents(User user)
{
if (user.EventSubscriptions.Count < 1)
AddDefaultEvents(user);
var query = user.EventSubscriptions.Join(sp.Events, r => r.EventId, p => p.EventId, (r, p) =>
new { r.UserId, r.EventSubscriptionId, p.EventType, p.EventAction, r.IsAlert, r.IsEmail, r.AlertLevel })
.Where(pr => pr.UserId == user.ID);
BindingSource temp = new BindingSource() { DataSource = query };
RGVAlerts.DataSource = temp;
//RGVAlerts.DataSource = query;
foreach (var column in RGVAlerts.Columns)
{
switch (column.HeaderText)
{
case "EventType":
column.HeaderText = "Category"; break;
case "EventAction":
column.HeaderText = "Event Action"; break;
case "IsAlert":
column.HeaderText = "Send Alert";
column.ReadOnly = false;
break;
case "IsEmail":
column.HeaderText = "Send Email";
column.ReadOnly = false; break;
case "AlertLevel":
column.HeaderText = "Alert Level"; break;
}
}
RGVAlerts.Columns.Remove("UserId");
RGVAlerts.Columns.Remove("AlertLevel");
RGVAlerts.Columns.Remove("EventSubscriptionId");
GridViewComboBoxColumn comboLevel = new GridViewComboBoxColumn();
comboLevel.DataSource = new string[] { "INFORMATION", "MILD", "SEVERE", "COUNT" };
RGVAlerts.Columns.Add(comboLevel);
comboLevel.FieldName = "AlertLevel";
comboLevel.HeaderText = "AlertLevel";
RGVAlerts.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
foreach (GridViewDataColumn column in RGVAlerts.Columns)
{
column.BestFit();
column.Width += 58;
};
RGVAlerts.AllowCellContextMenu = true;
RGVAlerts.AllowEditRow = true;
RGVAlerts.CausesValidation = true;
RGVAlerts.Refresh();
}
Выглядит как связывание неверно. можете ли вы показать код, который вы используете для инициализации сетки? – RAS
обновит вопрос – jharr100