Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как чекнуть несколько CheckBox in DataGrid?  (Прочитано 4411 раз)
0 Пользователей и 1 Гость смотрят эту тему.
h.m.f.
Участник

ru
Offline Offline
Пол: Мужской

« : 24-03-2006 07:47 » 

Есть такой код:
Код:
DataGridTableStyle DGTStyle=new DataGridTableStyle();

DataGridColumnStyle ColCheck=new DataGridBoolColumn();
ColCheck.MappingName="Копировать столб";
ColCheck.HeaderText="Копировать столб";
((DataGridBoolColumn)ColCheck).AllowNull=true;
ColCheck.Width=100;
DGTStyle.GridColumnStyles.Add(ColCheck);
...
dc=new DataColumn();
dc.ColumnName="Копировать столб";
dc.ReadOnly=false;
dt.Columns.Add(dc);
...
dr["Копировать столб"]=true;
DataGridColumns.DataSource=dt.DefaultView;
DataGridColumns.TableStyles.Add(DGTStyle);
В результате на форме получается датагрид с чекбоксами,
НО все эти чекбоксы имеют три состояния (чукнут/не чекнут/ чекнут и выключен), причем по умолчанию все они чекнуты и выключены.
И если кликать на любом чекбоксе, то он меняет свои состояния, но если перейти к следующему, то состояние предыдущего скидывается на "чукнут и выключен".
Помогите разобраться как можно избавиться от состояния "чекнут и выключен" вообще.
И как сохранять состояния чекбоксов, чтобы потом можно было их обработать.
Записан
h.m.f.
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-03-2006 13:04 » 

Оказывается нужно было насильно указать что именно считать true и false (выделены цветом):
Код:
DataGridTableStyle DGTStyle=new DataGridTableStyle();

DataGridColumnStyle ColCheck=new DataGridBoolColumn();
ColCheck.MappingName="Копировать столб";
ColCheck.HeaderText="Копировать столб";
((DataGridBoolColumn)ColCheck).AllowNull=true;

[color=red]
((DataGridBoolColumn)ColCheck).TrueValue="true";
((DataGridBoolColumn)ColCheck).FalseValue="false";
[/color]

ColCheck.Width=100;
DGTStyle.GridColumnStyles.Add(ColCheck);
...
dc=new DataColumn();
dc.ColumnName="Копировать столб";
dc.ReadOnly=false;
dt.Columns.Add(dc);
...
//dr["Копировать столб"]=true; неправильно
[color=red]
dr["Копировать столб"]="true";
[/color]

DataGridColumns.DataSource=dt.DefaultView;
DataGridColumns.TableStyles.Add(DGTStyle);
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines