private void DataColumnDialog_Load(object sender, System.EventArgs e) { if (m_DataTable == null) { throw new ApplicationException("DataTable is null"); } if (m_TemplateColumns == null) { m_TemplateColumns = GridDataTable.GetColumnsFromDataTable(m_DataTable, true); } grid.Redim(m_DataTable.Columns.Count + 1, 3); grid.FixedRows = 1; grid.Selection.SelectionMode = SourceGrid2.GridSelectionMode.Row; grid[0, 0] = new Cells.Header("Visible"); grid[0, 1] = new Cells.Header("Caption"); grid[0, 2] = new Cells.Header("Order"); int l_LastPosition = m_TemplateColumns.Length + 1; for (int c = 0; c < m_DataTable.Columns.Count; c++) { int l_CurrentPosition = l_LastPosition; bool l_bVisible = false; for (int j = 0; j < m_TemplateColumns.Length; j++) { if (m_TemplateColumns[j].DataColumn == m_DataTable.Columns[c]) { l_bVisible = true; l_CurrentPosition = j + 1; break; } } if (l_bVisible == false) { l_LastPosition++; } grid[c + grid.FixedRows, 0] = new Cells.CheckBox(l_bVisible); grid[c + grid.FixedRows, 0].Tag = m_DataTable.Columns[c]; grid[c + grid.FixedRows, 1] = new Cells.Cell(m_DataTable.Columns[c].Caption, typeof(string)); grid[c + grid.FixedRows, 1].DataModel.AllowNull = false; grid[c + grid.FixedRows, 2] = new Cells.Cell(l_CurrentPosition); } Sort(); grid.AutoStretchColumnsToFitWidth = true; grid.AutoSizeAll(); }
public override void SetValue(SourceGrid2.Position p_Position, object p_Value) { GridDataTable l_GridDataTable = ((GridDataTable)Grid); System.Data.DataRow l_Row = (System.Data.DataRow)(l_GridDataTable.m_DataSelection[p_Position.Row - Grid.FixedRows]); if (p_Value == null) { l_Row[m_DataColumn] = System.DBNull.Value; } else { l_Row[m_DataColumn] = p_Value; } OnValueChanged(new SourceGrid2.PositionEventArgs(p_Position, this)); }
public override object GetValue(SourceGrid2.Position p_Position) { GridDataTable l_GridDataTable = ((GridDataTable)Grid); System.Data.DataRow l_Row = (System.Data.DataRow)(l_GridDataTable.m_DataSelection[p_Position.Row - Grid.FixedRows]); object tmp = l_Row[m_DataColumn]; if (System.DBNull.Value == tmp) { return(null); } else { return(tmp); } }