public History() { HistoryList = new List<BaseEntity>(); CurrentItem = new BaseEntity(); }
private void BuildParamsTable(BaseEntity data) { IsParamsTableFill = true; DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Param")); dt.Columns.Add(new DataColumn("Value")); dt.Columns.Add(new DataColumn("Type")); foreach (var par in data.GetType().GetFields()) { if (par.FieldType.FullName == "System.String") { paramsGridView.DataSource = dt; var row = dt.NewRow(); row[0] = par.Name; row[1] = data.GetType().GetField(par.Name).GetValue(data);// GetValue(data, null); dt.Rows.Add(row); paramsGridView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; paramsGridView.Columns[0].ReadOnly = true; paramsGridView.Columns[0].Width = 100; paramsGridView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; paramsGridView.RowHeadersVisible = false; scParam.Panel2Collapsed = true; btAddLinkedPerson.Visible = false; btAddNoClient.Visible = false; btAddDocument.Visible = false; } if (par.Name == "LinkedPersons") { if (data is Agreement) { var d = (Agreement) data; foreach (var item in d.LinkedPersons) { AddNewLinkedPersonParams(item.Rnk, item.PersonState); } } scParam.Panel2Collapsed = false; btAddLinkedPerson.Visible = true; } if (par.Name == "NoClients") { scParam.Panel2Collapsed = false; btAddNoClient.Visible = true; } if (par.Name == "Documents") { scParam.Panel2Collapsed = false; btAddDocument.Visible = true; btAddDocument.Dock = DockStyle.Fill; } } paramsGridView.Columns[2].Visible = false; ResizeScParams(); }