您的位置:首页 > 其它

DevExpress GridView 两个问题

2015-06-02 16:06 183 查看
1、Column中显示图片

private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
if (e.Column == this.gridColumnImage && e.IsGetData)
{
switch ((e.Row as Messages).Status)
{
case 0: e.Value = global::Jesus.WinApplication.Properties.Resources.mail; break;
default: e.Value = global::Jesus.WinApplication.Properties.Resources.blank; break;
}
}
}

gridColumnImage 是Column的Name,注意需设置FieldName为唯一的值,比如设置为列名(否则CustomUnboundColumnData不会被调用)

设置gridColumnImage 的UnBoundType属性为Object

设置gridColumnImage 的ColumnEdit为 PictureEdit

2、代码控制某单元格按钮是否显示,一种方法就是创建一个不可能的buttonedit,然后关联到该单元格

private void gvSelf_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
if (e.Column.Name == "gridColumnUpdate")
{


DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit ritem = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
                ritem.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
                ritem.ReadOnly = true;
                ritem.Buttons[0].Enabled = false;
                ritem.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
                ritem.Buttons[0].Caption = " ";
e.RepositoryItem = ritem;
}
}

在更新行数据后,调用gvSelf.CloseEditor() 函数激活界面刷新。否则就只能等切换行时CustomRowCellEdit才会调用


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: