|
MainActivity
private SfDataGrid sfGrid;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
sfGrid = new SfDataGrid (BaseContext);
sfGrid.ColumnSizer = ColumnSizer.Auto;
sfGrid.CellRenderers.Remove("TextView");
sfGrid.CellRenderers.Add("TextView", new CustomGridCell());
sfGrid.ItemsSource = (new OrderInfoRepository ().OrderInfoCollection);
sfGrid.AutoGenerateColumns = true;
sfGrid.AutoGeneratingColumn += SfGrid_AutoGeneratingColumn;
SetContentView(sfGrid);
}
private void SfGrid_AutoGeneratingColumn(object sender, AutoGeneratingColumnEventArgs e)
{
e.Column.LoadUIView = true;
} |
|
public class CustomGridCell : GridCellTextViewRenderer
{
public CustomGridCell()
{
}
protected override void OnLayout(RowColumnIndex rowColumnIndex, View view, int left, int top, int right, int bottom)
{
base.OnLayout(rowColumnIndex, view, left, top, right, bottom);
var gridCell = view as GridCell;
var dataColumn = gridCell.DataColumn;
var rowData = dataColumn.RowData as OrderInfo;
if (rowData.OrderID > 100 && rowData.CustomerID == "Tim Adams")
{
TextView textView = gridCell.GetChildAt(0) as TextView;
textView.TextSize = 20; //Device dependent pixels
}
}
} |
|
public class MainActivity : Activity
{
// Set our view from the "main" layout resource
private SfDataGrid sfGrid;
private ViewModel_DT viewModel;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
sfGrid = new SfDataGrid(this);
viewModel = new ViewModel_DT();
sfGrid.AutoGenerateColumns = false;
sfGrid.ItemsSource = viewModel.Records;
sfGrid.CellRenderers.Remove("TextView");
sfGrid.CellRenderers.Add("TextView", new GridCellTextViewRendererExt());
GridTextColumn column1 = new GridTextColumn() { MappingName = "Column1", LoadUIView=true };
GridTextColumn column2 = new GridTextColumn() { MappingName = "Column2", LoadUIView=true };
GridTextColumn column3 = new GridTextColumn() { MappingName = "Column3", LoadUIView=true };
GridTextColumn column4 = new GridTextColumn() { MappingName = "Column4", LoadUIView=true };
GridTextColumn column5 = new GridTextColumn() { MappingName = "Column5", LoadUIView=true };
GridTextColumn column6 = new GridTextColumn() { MappingName = "Column6", LoadUIView=true };
GridTextColumn column7 = new GridTextColumn() { MappingName = "Column7", LoadUIView=true };
sfGrid.Columns.Add(column1);
sfGrid.Columns.Add(column2);
sfGrid.Columns.Add(column3);
sfGrid.Columns.Add(column4);
sfGrid.Columns.Add(column5);
sfGrid.Columns.Add(column6);
sfGrid.Columns.Add(column7);
SetContentView(sfGrid);
}
}
public class GridCellTextViewRendererExt:GridCellTextViewRenderer
{
public GridCellTextViewRendererExt()
{
}
public override void OnInitializeDisplayView(DataColumnBase dataColumn, TextView view)
{
base.OnInitializeDisplayView(dataColumn, view);
var rowData = dataColumn.RowData as System.Data.DataRowView;
if (rowData != null)
{
if ((string)rowData.Row.ItemArray[1] == "Sean")
{
view.TextSize = 20;
}
}
}
}
|
|
public override void OnInitializeDisplayView(DataColumnBase dataColumn, TextView view)
{
base.OnInitializeDisplayView(dataColumn, view);
var rowData = dataColumn.RowData as System.Data.DataRowView;
if (rowData != null)
{
if (rowData.Row.ItemArray[1].ToString() == "Sean")
{
view.TextSize = 20;
(view.Parent as View).SetBackgroundColor(Color.Cyan);
view.SetTextColor(Color.White);
}
else
{
(view.Parent as View).SetBackgroundColor(Color.Transparent);
}
}
}
|