3

您好我有 DevExpress xtragrid 控件。如何只为一列设置editable = true(列为空)

4

3 回答 3

3

使用GridColumn.OptionsColumn.AllowEdit属性:

// sample data
gridControl1.DataSource = new List<DataObj> { 
    new DataObj(){ Agent = "AMD" },
    new DataObj(){ Agent = "!!!AMD" },
};
//...
gridView1.PopulateColumns();
foreach(GridColumn column in gridView1.Columns) // disable editing for all columns
    column.OptionsColumn.AllowEdit = false;
gridView1.Columns["Description"].OptionsColumn.AllowEdit = true; // enable editing for specific column
//...
class DataObj {
    public string Agent { get; set; }
    public string Description { get; set; }
}
于 2013-10-30T07:46:06.583 回答
3

如果您需要自动和从代码中处理所有列,@DmitryG 的答案是正确的。

如果您不想从代码中更改它(代码将添加到 *designer.cs 文件中):转到 xtragrid 的设计器-> 列 列 对于您希望不可编辑的每一列选择列选项并为只读或选择“true” “false”允许编辑。 可视化编辑器

http://documentation.devexpress.com/#WindowsForms/CustomDocument807

于 2013-10-30T08:02:32.630 回答
0

您的问题有点含糊,如果您想将列设置为只读,请执行以下操作;

YourcolName.OptionsColumn.AllowEdit = false;

如果您的列不可编辑,则问题出在您的数据源上,可能是列表实现。或保存您的行数据的对象,或者您正在尝试更新未绑定的行?

您将不得不提供更多信息,以便我们给您任何答案...

于 2013-10-30T07:42:13.080 回答