/// <summary> /// Serialize and save in a string the grid parameters. /// </summary> /// <param name="grid">Data Grid to be saved.</param> /// <param name="serializedString">String to be serialized.</param> private static void SaveParameters(SfDataGrid grid, out string serializedString) { var dependencyObject = grid as DependencyObject; serializedString = String.Empty; DependencyPropertyChangedEventArgs ev = new DependencyPropertyChangedEventArgs(); ICommand command = GetGridParamChangedCommand(dependencyObject, ev); using (MemoryStream ms = new MemoryStream()) { if (grid != null) { grid.Serialize(ms); byte[] valueArray = ms.ToArray(); StreamReader reader = new StreamReader(new MemoryStream(valueArray)); var xmlString = reader.ReadToEnd(); serializedString = xmlString; KarveGridParameters karveGrid = GetGridParameter(grid, ev); if (karveGrid != null) { karveGrid.GridIdentifier = GetGridIdentifier(dependencyObject, ev); karveGrid.GridName = GetGridName(dependencyObject, ev); karveGrid.PreviousXml = karveGrid.PreviousXml; karveGrid.Xml = xmlString; command?.Execute(karveGrid); } } } }
/// <summary> /// ItemChangeSource Changed event. In this function in case of autogenerate column we enforce the parameters load. /// </summary> /// <param name="sender">Sender of the event</param> /// <param name="e">Source of the event</param> private static void DataGrid_ItemsSourceChanged(object sender, GridItemsSourceChangedEventArgs e) { var dataGrid = sender as SfDataGrid; if (dataGrid != null) { DependencyPropertyChangedEventArgs ev = new DependencyPropertyChangedEventArgs(); KarveGridParameters parm = GetGridParameter(dataGrid, ev); LoadParameters(dataGrid, parm.Xml); } }
private static void OnIdChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ICommand command = GetGridInitCommand(d, e); if (command != null) { long value = GetGridIdentifier(d, e); KarveGridParameters parameters = new KarveGridParameters(); parameters.GridIdentifier = value; command.Execute(parameters); } }
public void Should_ResizeGrid_Command() { ICommand resizeGrid = _karveViewModelBase.GridResizeCommand; Assert.NotNull(resizeGrid); KarveGridParameters param = LoadFileFromSettings("TestSettings.xml", 1); var baseSettings = param.Xml; resizeGrid.Execute(param); GridSettingsDto dto = _karveViewModelBase.GridSettings; var setting = dto.XmlBase64; Assert.AreEqual(baseSettings, setting); }
private static void OnGridInitChangedCommand(DependencyObject d, DependencyPropertyChangedEventArgs e) { ICommand command = (ICommand)d.GetValue(GridInitCommandProperty); long value = GetGridIdentifier(d, e); if (value != long.MinValue) { KarveGridParameters parameters = new KarveGridParameters(); parameters.GridIdentifier = value; if (command != null) { command.Execute(parameters); } } }
public void Should_Register_A_New_Grid() { ICommand registerCommand = _karveViewModelBase.GridRegisterCommand; Assert.NotNull(registerCommand); KarveGridParameters param = new KarveGridParameters(); param.GridIdentifier = 1; param.GridName = "Supplier_Grid"; registerCommand.Execute(param); // here shall be present all the grids. ObservableCollection <GridSettingsDto> settingsDtos = _karveViewModelBase.CurrentGridSettings; GridSettingsDto settingsDto = settingsDtos.FirstOrDefault(x => x.GridIdentifier == param.GridIdentifier); Assert.NotNull(settingsDto); }
private KarveGridParameters LoadFileFromSettings(string path, int id) { KarveGridParameters dto = new KarveGridParameters(); using (FileStream stream = File.OpenRead(path)) { long fSize = stream.Length; byte[] fileValue = new byte[fSize]; stream.Read(fileValue, 0, fileValue.Length); // now we save into the setting var valueStringEncoded = Convert.ToBase64String(fileValue); dto.Xml = valueStringEncoded; dto.GridIdentifier = id; dto.GridName = "Suppliers"; } return(dto); }