public static CellColumnTemplate[] GetColumnsFromDataTable(System.Data.DataTable p_Table, bool p_EnableEdit) { CellColumnTemplate[] l_Cells; //Data Cell Template (one for each column l_Cells = new CellColumnTemplate[p_Table.Columns.Count]; for (int c = 0; c < p_Table.Columns.Count; c++) { l_Cells[c] = new CellColumnTemplate(p_Table.Columns[c], p_Table.Columns[c].Caption); l_Cells[c].EnableEdit = p_EnableEdit; } return(l_Cells); }
private void LoadXmlDocument(System.Xml.XmlDocument p_Document) { m_XmlDocument = p_Document; System.Xml.XmlNodeList l_Rows = m_XmlDocument.SelectNodes("//row"); gridVirtual1.FixedRows = 1; gridVirtual1.FixedColumns = 0; gridVirtual1.Selection.SelectionMode = SourceGrid2.GridSelectionMode.Row; m_ColumnsHeader = new CellColumnTemplate[14]; m_ColumnsData = new Cells.CellVirtual[14]; gridVirtual1.Redim(l_Rows.Count + gridVirtual1.FixedRows, m_ColumnsData.Length + gridVirtual1.FixedColumns); //Load Columns m_ColumnsHeader[0] = new CellColumnTemplate("ID (int)"); m_ColumnsData[0] = new CellDataTemplate("ID", l_Rows, typeof(int)); m_ColumnsData[0].TextAlignment = ContentAlignment.MiddleRight; m_ColumnsHeader[1] = new CellColumnTemplate("CustomerId (string)"); m_ColumnsData[1] = new CellDataTemplate("CustomerId", l_Rows, typeof(string)); m_ColumnsHeader[2] = new CellColumnTemplate("CompanyName (string)"); m_ColumnsData[2] = new CellDataTemplate("CompanyName", l_Rows, typeof(string)); m_ColumnsHeader[3] = new CellColumnTemplate("ContactName (string)"); m_ColumnsData[3] = new CellDataTemplate("ContactName", l_Rows, typeof(string)); m_ColumnsHeader[4] = new CellColumnTemplate("ContactTitle (string)"); m_ColumnsData[4] = new CellDataTemplate("ContactTitle", l_Rows, typeof(string)); m_ColumnsHeader[5] = new CellColumnTemplate("Address (string)"); m_ColumnsData[5] = new CellDataTemplate("Address", l_Rows, typeof(string)); m_ColumnsHeader[6] = new CellColumnTemplate("City (string)"); m_ColumnsData[6] = new CellDataTemplate("City", l_Rows, typeof(string)); m_ColumnsHeader[7] = new CellColumnTemplate("PostalCode (string)"); m_ColumnsData[7] = new CellDataTemplate("PostalCode", l_Rows, typeof(string)); m_ColumnsHeader[8] = new CellColumnTemplate("Country (string)"); m_ColumnsData[8] = new CellDataTemplate("Country", l_Rows, typeof(string)); string[] l_CountryList = new string[] { "Italy", "France", "Spain", "UK", "Argentina", "Mexico", "Switzerland", "Brazil", "Germany", "Portugal", "Sweden", "Austria" }; SourceGrid2.DataModels.EditorComboBox l_EditorCountry = new SourceGrid2.DataModels.EditorComboBox(typeof(string), l_CountryList, false); m_ColumnsData[8].DataModel = l_EditorCountry; m_ColumnsHeader[9] = new CellColumnTemplate("Phone (string)"); m_ColumnsData[9] = new CellDataTemplate("Phone", l_Rows, typeof(string)); m_ColumnsHeader[10] = new CellColumnTemplate("Birthday (DateTime)"); m_ColumnsData[10] = new CellDataTemplate("Birthday", l_Rows, typeof(DateTime)); m_ColumnsHeader[11] = new CellColumnTemplate("Selected (bool)"); m_ColumnsData[11] = new CellDataTemplateCheckBox("Selected", l_Rows); m_ColumnsHeader[12] = new CellColumnTemplate("website (string)"); m_ColumnsData[12] = new CellDataTemplateLink("website", l_Rows); m_ColumnsHeader[13] = new CellColumnTemplate("Price (double)"); m_ColumnsData[13] = new CellDataTemplate("Price", l_Rows, typeof(double)); SourceGrid2.DataModels.EditorTextBox l_EditorPrice = new SourceGrid2.DataModels.EditorTextBox(typeof(double)); l_EditorPrice.TypeConverter = new SourceLibrary.ComponentModel.Converter.CurrencyTypeConverter(typeof(double)); m_ColumnsData[13].DataModel = l_EditorPrice; m_ColumnsData[13].TextAlignment = ContentAlignment.MiddleRight; for (int i = 0; i < m_ColumnsData.Length; i++) { m_ColumnsData[i].BindToGrid(gridVirtual1); m_ColumnsHeader[i].BindToGrid(gridVirtual1); } gridVirtual1.AutoSizeView(true); }