/ Published in: C#

Expand |
Embed | Plain Text
private int HScrollBarPos = 0; private bool HPosFLG = false; private void GetSBarPos(Emico.Common.UI.EmiDataGridView dg) { HPosFLG = false; foreach (Control c in dg.Controls) { if (c.GetType().Name == "HScrollBar") { ScrollBar sBar = (ScrollBar)c; HScrollBarPos = sBar.Value; HPosFLG = true; } } } private void SetSBarPos(Emico.Common.UI.EmiDataGridView dg) { foreach (Control c in dg.Controls) { if (c.GetType().Name == "HScrollBar") { if (HPosFLG) { dg.HorizontalScrollingOffset = HScrollBarPos; } } } } private void emiDataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { int aCol = emiDataGridView1.ActiveColumnIndex; int aRow = emiDataGridView1.ActiveRowIndex; emiDataGridView1.SuspendLayout(); GetSBarPos(emiDataGridView1); // 行を移動ã•ã›ã¦ã€ç·¨é›†ã‚’確定ã•ã›ã¾ã™ã€‚(EndEdit ã§ã¯ã†ã¾ãã„ã‹ãªã„・・・) if (emiDataGridView1.CurrentCell != null && emiDataGridView1.CurrentCell.IsInEditMode == true) { if (emiDataGridView1.ActiveRowIndex == 0) { if (emiDataGridView1.RowCount > 1) { if (emiDataGridView1.ActiveRowIndex != 0) { emiDataGridView1.ActiveRowIndex++; } } else { if (emiDataGridView1.ActiveColumnIndex == 0) { emiDataGridView1.ActiveColumnIndex = 1; } else { emiDataGridView1.ActiveColumnIndex = 0; } } } //emiDataGridView1.CurrentCell = emiDataGridView1[0, 0]; } string aColName = emiDataGridView1.Columns[e.ColumnIndex].Name; // ç¾åœ¨ã®ã‚½ãƒ¼ãƒˆé †ã‹ã‚‰æ–°ã—ã„ã‚½ãƒ¼ãƒˆé †ã‚’åˆ¤å®šã€‚ SortOrder nowOrder = emiDataGridView1.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection; SortOrder newOrder; string strOrder; if (nowOrder == SortOrder.Ascending) { newOrder = SortOrder.Descending; strOrder = " DESC"; } else { newOrder = SortOrder.Ascending; strOrder = " ASC"; } // 列ヘッダーã®ã‚°ãƒªãƒ•(矢å°ï¼‰ã‚’ã€ä¸€æ—¦ã‚¯ãƒªã‚¢ã€‚ emiDataGridView1.Columns["ColA"].HeaderCell.SortGlyphDirection = SortOrder.None; emiDataGridView1.Columns["ColB"].HeaderCell.SortGlyphDirection = SortOrder.None; emiDataGridView1.Columns["ColC"].HeaderCell.SortGlyphDirection = SortOrder.None; // ソート文å—列を生æˆã€‚ if (aColName.Length > 0) { sbSort.Append(aColName); sbSort.Append(strOrder); } // ソート。 _tblTestclass.DefaultView.Sort = sbSort.ToString(); // グリフ(矢å°ï¼‰ã‚’è¨å®šã€‚ if (aColName.Length > 0) { emiDataGridView1.Columns[aColName].HeaderCell.SortGlyphDirection = newOrder; } if (aCol >= 0 && aRow >= 0) { emiDataGridView1.CurrentCell = emiDataGridView1[e.ColumnIndex, 0]; } SetSBarPos(emiDataGridView1); emiDataGridView1.Refresh(); emiDataGridView1.ResumeLayout(); }
You need to login to post a comment.