|
dataGrid.CellRenderers.Remove("Image");
dataGrid.CellRenderers.Add("Image", new GridImageCellRendererExt());
public class GridImageCellRendererExt : GridImageCellRenderer
{
OrderInfoRepository viewModel;
public GridImageCellRendererExt()
{
viewModel = new OrderInfoRepository();
}
public override void OnInitializeDisplayView(DataColumnBase dataColumn, ImageView view)
{
base.OnInitializeDisplayView(dataColumn, view);
if(!(dataColumn.RowData as OrderInfo).IsClosed)
{
view.SetImageBitmap(Imagehelper.ToUIImage(new ImageMapStream(viewModel.LoadResourc("ticket.png").ToArray())));
}
}
public override void OnUpdateDisplayValue(DataColumnBase dataColumn, ImageView view)
{
base.OnUpdateDisplayValue(dataColumn, view);
if (!(dataColumn.RowData as OrderInfo).IsClosed)
{
view.SetImageBitmap(Imagehelper.ToUIImage(new ImageMapStream(viewModel.LoadResourc("ticket.png").ToArray())));
}
}
} |
Hi Vigneshkumar,
Thank you very much, for your answer and the attached code sample.
Ok, I managed to implement an event, which gets invoked, when the switch is checked / unchecked - inside a CustomGridCellSwitchRenderer.
But how can I change the image (depending on the switch value).
(I want to change the displayed image, depending on the value of the checkbox. Like: checked -> image1 | not checked -> image2 ...)
Thanks in advance!
Best,
Michael
|
GridSwitchColumn switchcolumn=new GridSwitchColumn();
switchcolumn.MappingName = "IsClosed";
switchcolumn.ValueChanged += Switchcolumn_ValueChanged;
private void Switchcolumn_ValueChanged(object sender, ValueChangedEventArgs e)
{
if (!e.NewValue)
{
viewModel.OrderInfoCollection[e.RowColIndex.RowIndex - 1].Image = Imagehelper.ToUIImage(new ImageMapStream(viewModel.LoadResource("ticket.png").ToArray()));
}
else
viewModel.OrderInfoCollection[e.RowColIndex.RowIndex - 1].Image = Imagehelper.ToUIImage(new ImageMapStream(viewModel.LoadResource("image1.png").ToArray()));
} |