【问题标题】:devexpress gridcontrol set image in column when data exists数据存在时,devexpress gridcontrol在列中设置图像
【发布时间】:2014-07-18 07:17:51
【问题描述】:

我在表单上有一个带有几列的 devexpress 网格控件。其中一列有一个repositoryitem (imageedit)。

通过 sql 查询,我从数据库中获取数据集并将其分配给 gridcontrol 的数据源。到目前为止一切都很好。

在数据集中(它只包含一个数据表)我有一个字段,其中包含一个字符串值。我想要以下内容:如果此字段不为空,那么我想在列(imageedit)中有一个图像,如果它是空的,那么不需要图像。

我怎样才能做到这一点?使用 ColumnView.CustomUnboundColumnData 事件?

提前致谢。

【问题讨论】:

    标签: gridview devexpress


    【解决方案1】:

    您可以使用GridView.CustomRowCellEdit。只需创建一个空的RepositoryItem 并使用它:

    private RepositoryItem emptyItem = new RepositoryItem();
    
    private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        if (e.Column.FieldName == "YourImageColumn")
        {
            object value = gridView1.GetDataRow(e.RowHandle)["YourStringColumn"];
    
            if (value == null || string.IsNullOrEmpty(value.ToString()))
                e.RepositoryItem = emptyItem;
        }
    }
    

    【讨论】:

    • 此解决方案有效,但如果我尝试过滤此列,则会在“string value=gridview1 等”行出现 nullreferenc 异常。可能是什么问题?
    猜你喜欢
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2023-03-15
    • 2013-05-07
    相关资源
    最近更新 更多