private static BvgCell GetCell(BvgRow row, BvgColumn col, T item, BvgGrid _bvgGrid, bool SetValue) { BvgCell cell = new BvgCell { bvgRow = row, bvgColumn = col, HasCol = true, bvgGrid = _bvgGrid, }; if (SetValue) { cell.Value = col.prop.GetValue(item, null).ToString(); } if (col.IsFrozen) { cell.CssClass = CellStyle.CellFrozen.ToString(); } else { cell.CssClass = CellStyle.CellNonFrozen.ToString(); } cell.UpdateID(); return(cell); }
public static void GetColumns(ColProp[] props, BvgGrid <T> _bvgGrid, T[] list, bool UpdateUI) { int h = _bvgGrid.bvgSettings.HeaderHeight - 10; if (!_bvgGrid.Columns.Any()) { _bvgGrid.Columns = new BvgColumn <T> [props.Count()]; for (ushort i = 0; i < props.Count(); i++) { _bvgGrid.Columns[i] = getCol(i, props[i], h, _bvgGrid); } } else { _bvgGrid.Columns = new BvgColumn <T> [props.Count()]; string[] UpdatePkg = new string[props.Count() * 4]; short j = -1; for (ushort i = 0; i < props.Count(); i++) { _bvgGrid.Columns[i] = getCol(i, props[i], h, _bvgGrid); UpdatePkg[++j] = i.ToString(); UpdatePkg[++j] = props[i].prop.Name; UpdatePkg[++j] = _bvgGrid.Columns[i].ColWidth.ToString(); UpdatePkg[++j] = _bvgGrid.Columns[i].ColWidthSpan.ToString(); } if (_bvgGrid.Rows.Any()) { foreach (BvgRow <T> r in _bvgGrid.Rows) { foreach (BvgCell <T> c in r.Cells) { c.bvgColumn = _bvgGrid.Columns[c.bvgColumn.ID]; } } } if (UpdateUI) { BVirtualGridCJsInterop.UpdateColContentsBatch(UpdatePkg); RefreshRows(list, _bvgGrid, true, 0); } } if (_bvgGrid.SortState.Item1) { if (_bvgGrid.Columns.Any(x => x.prop.Name.Equals(_bvgGrid.SortState.Item2))) { BvgColumn <T> sortedCol2 = _bvgGrid.Columns.Single(x => x.prop.Name.Equals(_bvgGrid.SortState.Item2)); sortedCol2.IsSorted = true; sortedCol2.IsAscendingOrDescending = _bvgGrid.SortState.Item3; } } }
private static BvgCell <T> GetCell(BvgRow <T> row, BvgColumn <T> col, T item, BvgGrid <T> _bvgGrid) { BvgCell <T> cell = new BvgCell <T> { bvgRow = row, bvgColumn = col, bvgGrid = _bvgGrid, Value = col.prop.GetValue(item, null).ToString(), ID = string.Concat("C", col.ID, "R", row.ID), }; if (col.IsFrozen) { cell.CssClassBase = CellStyle.CF.ToString(); } else { cell.CssClassBase = CellStyle.CNF.ToString(); } return(cell); }
public static void GetColumns(ColProp[] props, BvgGrid _bvgGrid, T[] list, bool UpdateUI) { int h = _bvgGrid.bvgSettings.HeaderHeight - _bvgGrid.bvgSettings.HeaderStyle.BorderWidth * 2; if (!_bvgGrid.Columns.Any()) { _bvgGrid.Columns = new BvgColumn[props.Count()]; for (ushort i = 0; i < props.Count(); i++) { _bvgGrid.Columns[i] = getCol(i, props[i], h, _bvgGrid); } } else { _bvgGrid.Columns = new BvgColumn[props.Count()]; string[] UpdatePkg = new string[props.Count() * 4]; short j = -1; for (ushort i = 0; i < props.Count(); i++) { _bvgGrid.Columns[i] = getCol(i, props[i], h, _bvgGrid); UpdatePkg[++j] = i.ToString(); UpdatePkg[++j] = props[i].prop.Name; UpdatePkg[++j] = _bvgGrid.Columns[i].ColWidthDiv.ToString(); UpdatePkg[++j] = _bvgGrid.Columns[i].ColWidthSpan.ToString(); } if (_bvgGrid.SortState.Item1) { if (_bvgGrid.Columns.Any(x => x.prop.Name.Equals(_bvgGrid.SortState.Item2.prop.Name))) { BvgColumn sortedCol2 = _bvgGrid.Columns.Single(x => x.prop.Name.Equals(_bvgGrid.SortState.Item2.prop.Name)); sortedCol2.IsSorted = true; sortedCol2.IsAscendingOrDescending = _bvgGrid.SortState.Item2.IsAscendingOrDescending; } } if (_bvgGrid.Rows.Any()) { foreach (BvgRow r in _bvgGrid.Rows) { foreach (BvgCell c in r.Cells) { if (c.bvgColumn.ID < props.Count()) { c.bvgColumn = _bvgGrid.Columns[c.bvgColumn.ID]; c.HasCol = true; } else { c.HasCol = false; } } } } if (UpdateUI) { BvgJsInterop.UpdateColContentsBatch(UpdatePkg); RefreshRows(list, _bvgGrid, true); } } }