private void InitializeSourceGrid() { this.dataGrid.Rows.RowHeight = 21; //處理第一列中文字體會被遮住的問題 this.dataGrid.Columns.Add("Comment", "參數", typeof(string)); this.dataGrid.Columns.Add("Value", "數值", typeof(string)); this.dataGrid.Columns[0].Width = 180; this.dataGrid.Columns[0].DataCell.Model.AddModel(new BoundImage()); this.dataGrid.Columns[0].DataCell.Editor.EnableEdit = false; this.dataGrid.Columns[1].Width = 175; //修改選擇條的框線寬度與顏色 SourceGrid.Selection.SelectionBase cSelectionBase = this.dataGrid.Selection as SourceGrid.Selection.SelectionBase; cSelectionBase.Border = new DevAge.Drawing.RectangleBorder(new DevAge.Drawing.BorderLine(cSelectionBase.BackColor, 1)); //建立必要的 Editor 控制項 __cTextBox = this.dataGrid.Columns[1].DataCell.Editor; //保存原始 Editor 控制像 __cTextBox.NullString = null; __cComboBox = new SourceGrid.Cells.Editors.ComboBox(typeof(string), __sBooleans, true); __cComboBox.AllowNull = false; //建立資料來源 source = new Data.SimpleBoundList <Data._ParameterInfo>(64); source.AllowEdit = true; this.dataGrid.DataSource = source; }
public FileGrid() { //SpecialKeys = GridSpecialKeys.None | GridSpecialKeys.Enter | GridSpecialKeys.Escape | GridSpecialKeys.PageDownUp; Rows.Insert(0); //AutoStretchColumnsToFitWidth = true; BackColor = System.Drawing.SystemColors.Window; BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; ColumnsCount = 3; Dock = System.Windows.Forms.DockStyle.Fill; EnableSort = false; FixedRows = 1; //Columns[1].AutoSizeMode = SourceGrid.AutoSizeMode.EnableAutoSizeView; OptimizeMode = CellOptimizeMode.ForRows; SelectionMode = GridSelectionMode.Row; TabIndex = 2; TabStop = true; //Cannot set those! //this.Location.X = 0; //this.Location.Y = 25; //Margin.All = 4; //Size.Height = 298; //Size.Width = 1038; // Initialise custom editors oneClickEditor = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); oneClickEditor.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; PreviewKeyDown += delegate(object eventSender, PreviewKeyDownEventArgs karg) { if (karg.KeyCode == Keys.A && karg.Modifiers == Keys.Control) { Selection.SelectRange(new Range(new Position(1, 0), new Position(RowsCount - 1, FileNewNameCol)), true); } }; //Not sure why it does not work here this[0, FileIconCol] = new SourceGrid.Cells.ColumnHeader(); this[0, FileOldNameCol] = new SourceGrid.Cells.ColumnHeader(Textual.FileName); this[0, FileNewNameCol] = new SourceGrid.Cells.ColumnHeader(Textual.NewFileName); //AutoSizeCells(); Columns[FileIconCol].AutoSizeMode = SourceGrid.AutoSizeMode.None; Columns[FileIconCol].Width = 28; Columns[FileOldNameCol].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default; Columns[FileNewNameCol].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default; MinimumWidth = 350; AutoSizeCells(); AutoStretchColumnsToFitWidth = true; Columns.StretchToFit(); fileFetcher = new IconFetcher(); }
public SourceGrid.DataGridColumn Add(string property, string caption, SourceGrid.Cells.Editors.EditorBase editor) { SourceGrid.Cells.DataGrid.Cell cell = new SourceGrid.Cells.DataGrid.Cell(); cell.Editor = editor; return(Add(property, caption, cell)); }
private void frmSampleGrid1_Load(object sender, System.EventArgs e) { string[] l_CountryList = new string[] { "Italy", "France", "Spain", "UK", "Argentina", "Mexico", "Switzerland", "Brazil", "Germany", "Portugal", "Sweden", "Austria" }; grid1.RowsCount = 1; grid1.ColumnsCount = 10; grid1.FixedRows = 1; grid1.FixedColumns = 1; grid1.SelectionMode = SourceGrid.GridSelectionMode.Row; grid1.AutoStretchColumnsToFitWidth = true; grid1.Columns[0].AutoSizeMode = SourceGrid.AutoSizeMode.None; grid1.Columns[0].Width = 25; grid1.Controller.AddController(new KeyDeleteController()); //TODO ////Enable Drag and Drop //grid1.GridController.AddController(SourceGrid.Controllers.SelectionDrag.Cut); //grid1.GridController.AddController(SourceGrid.Controllers.SelectionDrop.Default); #region Create Grid Style, Views and Controllers //Views mView_Price = new SourceGrid.Cells.Views.Cell(); mView_Price.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleRight; mController_Link = new SourceGrid.Cells.Controllers.Button(); mController_Link.Executed += new EventHandler(mController_Link_Click); #endregion #region Create Header Row and Editor SourceGrid.Cells.Header l_00Header = new SourceGrid.Cells.Header(null); grid1[0, 0] = l_00Header; mEditor_Id = SourceGrid.Cells.Editors.Factory.Create(typeof(int)); mEditor_Id.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 1] = new SourceGrid.Cells.ColumnHeader("ID (int)"); mEditor_Name = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_Name.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 2] = new SourceGrid.Cells.ColumnHeader("NAME (string)"); mEditor_Address = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_Address.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 3] = new SourceGrid.Cells.ColumnHeader("ADDRESS (string)"); mEditor_City = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_City.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 4] = new SourceGrid.Cells.ColumnHeader("CITY (string)"); mEditor_BirthDay = SourceGrid.Cells.Editors.Factory.Create(typeof(DateTime)); mEditor_BirthDay.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 5] = new SourceGrid.Cells.ColumnHeader("BIRTHDATE (DateTime)"); mEditor_Country = new SourceGrid.Cells.Editors.ComboBox(typeof(string), l_CountryList, false); mEditor_Country.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 6] = new SourceGrid.Cells.ColumnHeader("COUNTRY (string + combobox)"); mEditor_Price = new SourceGrid.Cells.Editors.TextBoxCurrency(typeof(double)); mEditor_Price.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.AnyKey | SourceGrid.EditableMode.SingleClick; grid1[0, 7] = new SourceGrid.Cells.ColumnHeader("$ PRICE (double)"); grid1[0, 8] = new SourceGrid.Cells.ColumnHeader("Selected"); grid1[0, 9] = new SourceGrid.Cells.ColumnHeader("WebSite"); #endregion //Read Data From xml System.IO.StreamReader reader = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowsFormsSample.GridSamples.SampleData.xml")); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(reader.ReadToEnd()); reader.Close(); System.Xml.XmlNodeList rows = xmlDoc.SelectNodes("//row"); grid1.RowsCount = rows.Count + 1; int rowsCount = 1; foreach (System.Xml.XmlNode l_Node in rows) { #region Pupulate RowsCount grid1[rowsCount, 0] = new SourceGrid.Cells.RowHeader(null); grid1[rowsCount, 1] = new SourceGrid.Cells.Cell(rowsCount, mEditor_Id); grid1[rowsCount, 2] = new SourceGrid.Cells.Cell(l_Node.Attributes["ContactName"].InnerText, mEditor_Name); grid1[rowsCount, 3] = new SourceGrid.Cells.Cell(l_Node.Attributes["Address"].InnerText, mEditor_Address); grid1[rowsCount, 4] = new SourceGrid.Cells.Cell(l_Node.Attributes["City"].InnerText, mEditor_City); grid1[rowsCount, 5] = new SourceGrid.Cells.Cell(DateTime.Today, mEditor_BirthDay); grid1[rowsCount, 6] = new SourceGrid.Cells.Cell(l_Node.Attributes["Country"].InnerText, mEditor_Country); grid1[rowsCount, 7] = new SourceGrid.Cells.Cell(25.0, mEditor_Price); grid1[rowsCount, 7].View = mView_Price; grid1[rowsCount, 8] = new SourceGrid.Cells.CheckBox(null, false); grid1[rowsCount, 9] = new SourceGrid.Cells.Link(l_Node.Attributes["website"].InnerText); grid1[rowsCount, 9].AddController(mController_Link); #endregion rowsCount++; } grid1.AutoSizeCells(); }
private void frmSampleGrid1_Load(object sender, System.EventArgs e) { string[] l_CountryList = new string[]{"Italy","France","Spain","UK","Argentina","Mexico", "Switzerland", "Brazil", "Germany","Portugal","Sweden","Austria"}; grid1.RowsCount = 1; grid1.ColumnsCount = 10; grid1.FixedRows = 1; grid1.FixedColumns = 1; grid1.SelectionMode = SourceGrid.GridSelectionMode.Row; grid1.AutoStretchColumnsToFitWidth = true; grid1.Columns[0].AutoSizeMode = SourceGrid.AutoSizeMode.None; grid1.Columns[0].Width = 25; grid1.Controller.AddController(new KeyDeleteController()); //TODO ////Enable Drag and Drop //grid1.GridController.AddController(SourceGrid.Controllers.SelectionDrag.Cut); //grid1.GridController.AddController(SourceGrid.Controllers.SelectionDrop.Default); #region Create Grid Style, Views and Controllers //Views mView_Price = new SourceGrid.Cells.Views.Cell(); mView_Price.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleRight; mController_Link = new SourceGrid.Cells.Controllers.Button(); mController_Link.Executed += new EventHandler(mController_Link_Click); #endregion #region Create Header Row and Editor SourceGrid.Cells.Header l_00Header = new SourceGrid.Cells.Header(null); grid1[0,0] = l_00Header; mEditor_Id = SourceGrid.Cells.Editors.Factory.Create(typeof(int)); mEditor_Id.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,1] = new SourceGrid.Cells.ColumnHeader("ID (int)"); mEditor_Name = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_Name.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,2] = new SourceGrid.Cells.ColumnHeader("NAME (string)"); mEditor_Address = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_Address.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,3] = new SourceGrid.Cells.ColumnHeader("ADDRESS (string)"); mEditor_City = SourceGrid.Cells.Editors.Factory.Create(typeof(string)); mEditor_City.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,4] = new SourceGrid.Cells.ColumnHeader("CITY (string)"); mEditor_BirthDay = SourceGrid.Cells.Editors.Factory.Create(typeof(DateTime)); mEditor_BirthDay.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,5] = new SourceGrid.Cells.ColumnHeader("BIRTHDATE (DateTime)"); mEditor_Country = new SourceGrid.Cells.Editors.ComboBox(typeof(string),l_CountryList,false); mEditor_Country.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,6] = new SourceGrid.Cells.ColumnHeader("COUNTRY (string + combobox)"); mEditor_Price = new SourceGrid.Cells.Editors.TextBoxCurrency(typeof(double)); mEditor_Price.EditableMode = SourceGrid.EditableMode.Focus|SourceGrid.EditableMode.AnyKey|SourceGrid.EditableMode.SingleClick; grid1[0,7] = new SourceGrid.Cells.ColumnHeader("$ PRICE (double)"); grid1[0,8] = new SourceGrid.Cells.ColumnHeader("Selected"); grid1[0,9] = new SourceGrid.Cells.ColumnHeader("WebSite"); #endregion //Read Data From xml System.IO.StreamReader reader = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowsFormsSample.GridSamples.SampleData.xml")); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(reader.ReadToEnd()); reader.Close(); System.Xml.XmlNodeList rows = xmlDoc.SelectNodes("//row"); grid1.RowsCount = rows.Count+1; int rowsCount = 1; foreach(System.Xml.XmlNode l_Node in rows) { #region Pupulate RowsCount grid1[rowsCount,0] = new SourceGrid.Cells.RowHeader(null); grid1[rowsCount,1] = new SourceGrid.Cells.Cell(rowsCount, mEditor_Id); grid1[rowsCount,2] = new SourceGrid.Cells.Cell(l_Node.Attributes["ContactName"].InnerText, mEditor_Name); grid1[rowsCount,3] = new SourceGrid.Cells.Cell(l_Node.Attributes["Address"].InnerText, mEditor_Address); grid1[rowsCount,4] = new SourceGrid.Cells.Cell(l_Node.Attributes["City"].InnerText, mEditor_City); grid1[rowsCount,5] = new SourceGrid.Cells.Cell(DateTime.Today, mEditor_BirthDay); grid1[rowsCount,6] = new SourceGrid.Cells.Cell(l_Node.Attributes["Country"].InnerText, mEditor_Country); grid1[rowsCount,7] = new SourceGrid.Cells.Cell(25.0, mEditor_Price); grid1[rowsCount, 7].View = mView_Price; grid1[rowsCount,8] = new SourceGrid.Cells.CheckBox(null, false); grid1[rowsCount,9] = new SourceGrid.Cells.Link(l_Node.Attributes["website"].InnerText); grid1[rowsCount,9].AddController(mController_Link); #endregion rowsCount++; } grid1.AutoSizeCells(); }