您好我如何在更换单元格或产品数量为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以从数据库中获取新数据。
答案 0 :(得分:0)
为了实现您的目标,我建议您在需要时通过GridView.RefreshRowCell或ColumnView.RefreshRow方法刷新所需的单元格(当图像列所依据的列中的值发生更改时)。