public void RefreshLayout() { EPoint pntHeaderBottomRight = new EPoint(); for (int x = 0; x < this.slColumnStyles.Count; x++) { VersatileDataGridColumnStyle columnStyle = GetColumnStyle(x); EPoint pntLeftRight = this.GetColumnLeftRight(columnStyle.ColumnName); //rct.Height = this.panelHeaders.Height; //panelSubHeaders Control ctrl = this.Controls[x * 2]; //panelSubHeaders ctrl.Width = pntLeftRight.Y - pntLeftRight.X; ctrl.Left = pntLeftRight.X; // this.listView1.Columns[x].Width = pntLeftRight.Y-pntLeftRight.X; Control splitter = this.Controls[x * 2 + 1]; //panelSubHeaders splitter.Left = pntLeftRight.Y; //splitter.Height = rct.Height; pntHeaderBottomRight.X = pntLeftRight.Y; //pntHeaderBottomRight.Y = rct.Bottom; } // this.listView1.Width = pntHeaderBottomRight.X; this.Width = pntHeaderBottomRight.X; //panelSubHeaders.Width = pntHeaderBottomRight.X; //panelSubHeaders.Height = pntHeaderBottomRight.Y; }
private void splitter_SplitterMoved(object sender, int newLoc) { CustomSplitter splitter = (CustomSplitter)sender; Control ctrl = (Control)splitter.Tag; VersatileDataGridColumnStyle columnStyle = (VersatileDataGridColumnStyle)ctrl.Tag; columnStyle.Width += splitter.DraggedTotal; }
private void headerCtrl_Click(object sender, EventArgs e) { Control ctrl = (Control)sender; VersatileDataGridColumnStyle columnStyle = (VersatileDataGridColumnStyle)ctrl.Tag; if (ChangedColumnSorting != null) { ChangedColumnSorting(this, columnStyle.ColumnName, true); } }
public VersatileDataGridColumnStyle GetColumnStyle(int displayOrdinal) { for (int i = 0; i < slColumnStyles.Count; i++) { VersatileDataGridColumnStyle style = (VersatileDataGridColumnStyle)slColumnStyles.GetByIndex(i); if (style.DisplayOrdinal == displayOrdinal) { return(GetColumnStyle(style.ColumnName)); } } return(null); }
public void SetColumnSpecificStyle(VersatileDataGridColumnStyle colStyle) { VersatileDataGridColumnStyle style = this.columnHeaders1.GetColumnStyle(colStyle.ColumnName); ArrayList aStyles = this.columnHeaders1.ColumnStyles; if (style != null) { aStyles.Remove(style); } aStyles.Add(colStyle); this.columnHeaders1.ColumnStyles = aStyles; }
public void SetupColumns() { // for (int i = this.Controls.Count-1; i >= 0; i--) // { // Control ctrl = this.Controls[i]; // if (ctrl != this.listView1) // this.Controls.Remove(ctrl); // } // this.listView1.Columns.Clear(); // this.listView1.Visible = false; this.Controls.Clear(); for (int x = 0; x < this.slColumnStyles.Count; x++) { VersatileDataGridColumnStyle columnStyle = this.GetColumnStyle(x); // TextBox headerCtrl = new TextBox(); // headerCtrl.BorderStyle = BorderStyle.None; // headerCtrl.Enabled = false; // headerCtrl.BackColor = Color.White; ColumnHeader colHeader = new ColumnHeader(); colHeader.Text = columnStyle.ColumnName; colHeader.Width = columnStyle.Width; // this.listView1.Columns.Add(colHeader); System.Windows.Forms.Button headerCtrl = new System.Windows.Forms.Button(); headerCtrl.Text = columnStyle.ColumnName; headerCtrl.FlatStyle = FlatStyle.Popup; headerCtrl.Font = new Font("Verdana", 6.75f); headerCtrl.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Control); headerCtrl.Tag = columnStyle; headerCtrl.Click += new EventHandler(headerCtrl_Click); this.Controls.Add(headerCtrl); //this.panelSubHeaders //headerCtrl.Visible = false; CustomSplitter splitter = new CustomSplitter(); splitter.Width = this.SplitterWidth; splitter.Tag = headerCtrl; // splitter.SplitterMoving+=new Endogine.Editors.CustomSplitter.SplitterEventHandler(splitter_SplitterMoving); splitter.SplitterMoved += new Endogine.Editors.CustomSplitter.SplitterEventHandler(splitter_SplitterMoved); this.Controls.Add(splitter); //this.panelSubHeaders } this.RecalcColumnLeftRights(); }
public void RecalcColumnLeftRights() { this.htCachedColumnLeftRights = new Hashtable(); int nTotalWidth = 0; for (int x = 0; x < this.slColumnStyles.Count; x++) { VersatileDataGridColumnStyle columnStyle = GetColumnStyle(x); EPoint pntRange = new EPoint(nTotalWidth, nTotalWidth + columnStyle.Width); //EH.Put(col.ColumnName + " " + pntRange.ToString()); this.htCachedColumnLeftRights.Add(columnStyle.ColumnName, pntRange); nTotalWidth += columnStyle.Width + this.SplitterWidth; } }
public void AutoAdjustColumns(int nMinWidth, int nMaxWidth, bool bOnlyLookHeaders) { bNoRecalcing = true; this.columnHeaders1.NoRefresh = true; DataView dv = this.GetDataView(); bool bIncludeHeaders = true; foreach (DataColumn col in dv.Table.Columns) { int nFoundMaxWidth = 0; int rowStart; if (bIncludeHeaders) { rowStart = -1; } else { rowStart = 0; } for (int y = rowStart; y < dv.Count; y++) { int nWidth = this.GetWantedWidth(y, col.Ordinal); nFoundMaxWidth = Math.Max(nWidth, nFoundMaxWidth); } VersatileDataGridColumnStyle style = GetColumnStyle(col.ColumnName); style.Width = Math.Max(nMinWidth, Math.Min(nMaxWidth, nFoundMaxWidth)); } bNoRecalcing = false; this.columnHeaders1.NoRefresh = false; this.columnHeaders1.RecalcColumnLeftRights(); this.RefreshLayout(); }
private void RefreshLayout() { this.columnHeaders1.RefreshLayout(); this.columnHeaders1.Height = this.panelHeaders.Height; this.panelSubGrid.SuspendLayout(); //this.columnHeaders1.SuspendLayout(); DataView dv = this.GetDataView(); pntCachedBottomRightLoc = new EPoint(); for (int y = 0; y < dv.Count; y++) { //DataRowView rowView = dv[y]; for (int x = 0; x < dv.Table.Columns.Count; x++) { DataColumn col = dv.Table.Columns[x]; VersatileDataGridColumnStyle columnStyle = this.GetColumnStyle(col.ColumnName); Control ctrl = this.panelSubGrid.Controls[x + y * dv.Table.Columns.Count]; Rectangle rct = this.GetBoundingRect(y, x); //EH.Put(x.ToString() + ";"+y.ToString()+" " + rct.ToString()); ctrl.Location = rct.Location; ctrl.Size = rct.Size; pntCachedBottomRightLoc.X = ctrl.Right; pntCachedBottomRightLoc.Y = ctrl.Bottom; } } this.panelSubGrid.Width = pntCachedBottomRightLoc.X; this.panelSubGrid.Height = pntCachedBottomRightLoc.Y; this.panelSubGrid.ResumeLayout(); //this.panelSubHeaders.ResumeLayout(); this.UpdateSize(); }
public VersatileDataGridColumnStyle GetColumnStyle(string columnName) { // if (this.slColumnStyles.Count == 0) // { // ArrayList aStyles = new ArrayList(); // aStyles.Add(new VersatileDataGridColumnStyle()); // this.ColumnStyles = aStyles; // } VersatileDataGridColumnStyle columnStyle = (VersatileDataGridColumnStyle) slColumnStyles[columnName]; //if (false && columnStyle == null) //{ // ArrayList aStyles = this.ColumnStyles; // VersatileDataGridColumnStyle style = new VersatileDataGridColumnStyle(); // style.ColumnName = columnName; // aStyles.Add(style); // this.ColumnStyles = aStyles; // columnStyle = style; //(VersatileDataGridColumnStyle)slColumnStyles.GetByIndex(0); //} return(columnStyle); }
private void DataBind() { DataView dv = this.GetDataView(); ArrayList aColumnStyles = this.columnHeaders1.ColumnStyles; for (int x = 0; x < dv.Table.Columns.Count; x++) { DataColumn col = dv.Table.Columns[x]; VersatileDataGridColumnStyle columnStyle = this.columnHeaders1.GetColumnStyle(col.ColumnName); if (columnStyle == null) { columnStyle = new Endogine.Editors.VersatileDataGridColumnStyle(); columnStyle.ColumnName = col.ColumnName; columnStyle.DisplayOrdinal = x; aColumnStyles.Add(columnStyle); } } this.columnHeaders1.ColumnStyles = aColumnStyles; this.panelSubGrid.Controls.Clear(); this.panelSubGrid.SuspendLayout(); this.columnHeaders1.SetupColumns(); this.columnHeaders1.Visible = this.columnHeadersVisible; this.bNoRecalcing = true; for (int y = 0; y < dv.Count; y++) { DataRowView rowView = dv[y]; for (int x = 0; x < dv.Table.Columns.Count; x++) { DataColumn col = dv.Table.Columns[x]; VersatileDataGridColumnStyle columnStyle = this.GetColumnStyle(col.ColumnName); Control ctrl = null; if (columnStyle.DisplayType == typeof(TextBox)) { TextBox tb = new TextBox(); tb = new TextBox(); tb.BorderStyle = BorderStyle.None; tb.Enabled = false; tb.BackColor = System.Drawing.Color.White; tb.Text = rowView[col.ColumnName].ToString(); ctrl = tb; } else if (columnStyle.DisplayType == typeof(System.Windows.Forms.PictureBox)) { PictureBox pb = new System.Windows.Forms.PictureBox(); //Endogine.ResourceManagement.MemberBitmapBase // mb = new Endogine.ResourceManagement.MemberBitmapBase(); object obj = rowView[col.ColumnName]; if (obj.GetType() == typeof(Endogine.MemberSpriteBitmap)) { } Endogine.MemberSpriteBitmap mb = (Endogine.MemberSpriteBitmap)EH.Instance.CastLib.GetOrCreate("Button2Down"); Bitmap bmp = mb.Thumbnail; // Bitmap bmp = new Bitmap(20,20,System.Drawing.Imaging.PixelFormat.Format24bppRgb); // Graphics g = Graphics.FromImage(bmp); // g.FillRectangle(new SolidBrush(Color.Red), 0,0,20,20); pb.Image = bmp; ctrl = pb; } if (ctrl != null) { this.panelSubGrid.Controls.Add(ctrl); } } } this.bNoRecalcing = false; this.panelSubGrid.ResumeLayout(); //this.columnHeaders1.ResumeLayout(); RefreshLayout(); }
public void SetColumnSpecificStyle(VersatileDataGridColumnStyle colStyle) { VersatileDataGridColumnStyle style = this.columnHeaders1.GetColumnStyle(colStyle.ColumnName); ArrayList aStyles = this.columnHeaders1.ColumnStyles; if (style!=null) aStyles.Remove(style); aStyles.Add(colStyle); this.columnHeaders1.ColumnStyles = aStyles; }