public void UpdateLastRow <T>(List <T> list) { if (LastRowGrid != null) { List <T> last_row_source = new List <T>(); T last_row = SRL.ClassManagement.CreateInstance <T>(); foreach (var item in LastRowGrid.GetAggregatedColumns()) { object row_value = null; switch (item.act) { case DataGridLastRow.AggreagteAction.Sum: Type property_type = SRL.ClassManagement.GetPropertyType <T>(item.column_name); var query = list.Select(item.column_name); var qJson = SRL.Json.ClassObjectToJson(query); List <decimal?> row_obj_list = Newtonsoft.Json.JsonConvert.DeserializeObject <List <decimal?> >(qJson); row_value = row_obj_list.Sum(); break; default: break; } SRL.ClassManagement.SetPropertyAsObject <T>(item.column_name, last_row, row_value); } last_row_source.Add(last_row); LastRowGrid.BindData <T>(last_row_source); } }
public void InsertColumns(List <GridColumn> cols) { Columns.Clear(); foreach (GridColumn item in cols) { DataGridViewColumn column = new DataGridViewColumn() { Name = item.name, DataPropertyName = item.name, HeaderText = item.Text, Visible = item.visible, CellTemplate = new DataGridViewTextBoxCell() }; Columns.Insert(cols.IndexOf(item), column); } LastRowGrid?.InsertColumns(cols); }
public void UpdateLastRow <T>(DataTable dt) { if (LastRowGrid != null) { List <T> last_row_source = new List <T>(); T last_row = SRL.ClassManagement.CreateInstance <T>(); foreach (var item in LastRowGrid.GetAggregatedColumns()) { object row_obj = null; switch (item.act) { case DataGridLastRow.AggreagteAction.Sum: row_obj = dt.Compute($"Sum({item.column_name})", string.Empty); break; default: break; } SRL.ClassManagement.SetProperty <T>(item.column_name, last_row, row_obj); } last_row_source.Add(last_row); LastRowGrid.BindData <T>(last_row_source); } }