C # DataSet CheckBox Столбец с DevExpress DataGrid - PullRequest
1 голос
/ 11 марта 2010

Сценарий

У меня есть DevExpress DataGrid, который связан с DataSet в C #. Я хочу заполнить каждую строку набора данных, чтобы она содержала строку в первом столбце и флажок во втором. Мой код ниже не работает так, как я хочу, и я не уверен, почему .....

Код

Как видите, я объявил набор данных, но когда я пытаюсь передать новый объект-флажок во 2-й столбец, он просто отображает системное имя для флажка.

        DataSet prodTypeDS = new Dataset();
        DataTable prodTypeDT = prodTypeDS.Tables.Add();
        prodTypeDT.Columns.Add("MurexID", typeof(string));
        prodTypeDT.Columns.Add("Haganise",typeof(CheckBox));

        //WHY DOES THIS NOT WORK? 
        //(Displays "System.Windows.Forms.CheckBox, CheckState: 0")
        //Instead of a checkbox.
        CheckBox c = new CheckBox();
        prodTypeDS.Tables[0].Rows.Add("Test",c);
        //This doesn't work either....
        prodTypeDS.Tables[0].Rows.Add("Test",c.CheckState);

...... Надеюсь, это только потому, что это сетка данных DevExpress ....

Ответы [ 2 ]

4 голосов
/ 11 марта 2010

Почему вы используете Checkbox столбец в вашем DataSet?

Вы должны попытаться добавить столбец bool в свой DataSet, когда привязываете DataSet к сетке, он автоматически использует флажок для отображения значения элемента.

1 голос
/ 14 марта 2010

Если в вашей таблице данных нет столбца bool, вы также можете вручную / в коде установить редактор для столбца.

Пример в коде:
Допустим, вы добавили столбец сетки devex под названием «fCol». Значение для checked = "YES", unchecked = "NONO";

        GridColumn fCol = gridView1.Columns.Add();
        RepositoryItemCheckEdit fCheckEdit = new RepositoryItemCheckEdit();
        fCheckEdit.ValueChecked = "YES";
        fCheckEdit.ValueUnchecked = "NONO";
        fCol.ColumnEdit = fCheckEdit;
        fCol.FieldName = "Haganise";

Конечно, вы также можете сделать это в конструкторе.

...