private void btnLoad_Click(object sender, EventArgs e) { List <User> users = new List <User>(); users.Add(new User() { UserID = "1", FirstName = "John", LastName = "Wayne" }); users.Add(new User() { UserID = "2", FirstName = "John", LastName = "Carter" }); Dictionary <string, string> headerMap = new Dictionary <string, string>(); headerMap.Add("UserID", "User ID"); headerMap.Add("FirstName", "First Name"); headerMap.Add("LastName", "Last Name"); if (pnlGrid.Controls.Count > 0) { pnlGrid.Controls.Clear(); } Control grid = new DynamicDataGrid(GetColumnDetails(typeof(User), headerMap), users); grid.Dock = DockStyle.Fill; pnlGrid.Controls.Add(grid); }
internal static void Remove(DynamicDataGrid grid, object model) { var i = GetItems(grid); i.Remove(model); grid.OnPropertyChanged("SelectedItems"); }
public ColumnCreationInterceptorContext(PropertyInfo property, DynamicDataGrid parent, Type objectType, DataGridColumn column) { Property = property ?? throw new ArgumentNullException(nameof(property)); Parent = parent ?? throw new ArgumentNullException(nameof(parent)); ObjectType = objectType ?? throw new ArgumentNullException(nameof(objectType)); Column = column; }
internal static Dictionary <object, bool> GetItems(DynamicDataGrid grid) { if (!CheckedItems.ContainsKey(grid)) { CheckedItems.Add(grid, new Dictionary <object, bool>()); } return(CheckedItems[grid]); }
internal static bool IsChecked(DynamicDataGrid grid, object model) { var i = GetItems(grid); if (!i.ContainsKey(model)) { i.Add(model, false); } return(i[model]); }
internal static void SetChecked(DynamicDataGrid grid, object model, bool state) { var i = GetItems(grid); if (!i.ContainsKey(model)) { i.Add(model, false); } i[model] = state; grid.OnPropertyChanged("SelectedItems"); }
public DataGridColumn GetColumn(PropertyInfo propertyInfo, DynamicDataGrid dataGrid) { IColumnCreationInterceptorContext column = null; foreach (var columnCreationInterceptor in dataGrid.ColumnCreationInterceptors) { var interceptorContext = columnCreationInterceptor.Intercept( new ColumnCreationInterceptorContext(propertyInfo, dataGrid, dataGrid.ItemType, null)); if (interceptorContext == null) { return(null); } column = interceptorContext; } return(column?.Column); }
private static IEnumerable <object> DefaultReturn(object[] value, DynamicDataGrid dynamicDataGrid) { return((value[0] as IEnumerable)?.Cast <object>() .Skip((dynamicDataGrid.CurrentPage - 1) * dynamicDataGrid.ItemsPerPage) .Take(dynamicDataGrid.ItemsPerPage)); }