再次启动CustomUnboundColumnData

时间:2014-08-03 16:26:39

标签: c# winforms devexpress

您好我如何在更换单元格或产品数量为0时再次启动CustomUnboundColumnData?我正在使用repositoryItemPictureEdit来展示产品的图片,当它缺货时,它应该以灰度显示。到目前为止,我所做的是创建事件,但它只在表单加载后才能工作一次。

private void layoutView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
    if (e.Column.FieldName == "Image" && e.IsGetData)
    {
        var colorName = (string)((DataRowView)e.Row)["mnupicture"];
        var qty = (int)((DataRowView)e.Row)["mnuqty"];
        var fileName = GetFileName(colorName).ToLower();
        if (!Images.ContainsKey(fileName))
        {
            var img = (Image)null;
            try
            {
                var filePath = FilesHelper.FindingFileName(Application.StartupPath, fileName, false);
                img = Image.FromFile(filePath);
            }
            catch
            {
            }
            if (qty <= 0)
            {
                img = ConvertToGrayscale(new Bitmap(img));
                Images.Add(fileName, img);
            }
            else
                Images.Add(fileName, img);
        }
        e.Value = Images[fileName];
    }
}

数量取决于我的数据库中的更改。这使我定期设置DataSource以从数据库中获取新数据。

1 个答案:

答案 0 :(得分:0)

为了实现您的目标,我建议您在需要时通过GridView.RefreshRowCellColumnView.RefreshRow方法刷新所需的单元格(当图像列所依据的列中的值发生更改时)。