#region 定义全局变量 /// <summary> /// 表头列前缀 /// </summary> private string m_strColumnNameHeader = "headercolumn"; /// <summary> /// 当前排序的列 /// </summary> private string m_strCurrentSortColumn = "1"; /// <summary> /// 当前排序模式 A-升序;D-降序 /// </summary> private System.Windows.Forms.SortOrder m_enmCurrentSortOrder = System.Windows.Forms.SortOrder.Descending; /// <summary> /// 换列默认排序模式 A-升序;D-降序 /// </summary> private System.Windows.Forms.SortOrder m_enmDefaultSortOrder = System.Windows.Forms.SortOrder.Descending; #endregion #region DataWindow点击列标题排序 /// <summary> /// DataWindow点击列标题排序 /// </summary> /// <param name="p_dwcView"></param> internal void DataWindowSetSort(Sybase.DataWindow.DataWindowControl p_dwcView) //数据窗口排序 { try { string strOrderColumn = string.Empty; string strCurObj = string.Empty; int intCurRowNumber = 0; strCurObj = p_dwcView.ObjectUnderMouse.Gob.Name; //得出objectName intCurRowNumber = p_dwcView.ObjectUnderMouse.RowNumber; //得出当前Row if (p_dwcView.Describe(strCurObj + ".Band") == "header") { string strColumnName = p_dwcView.Describe(strCurObj + ".Name").ToLower(); System.Windows.Forms.SortOrder enmSortOrder = System.Windows.Forms.SortOrder.Descending; if (intCurRowNumber == 0 && strColumnName.StartsWith(m_strColumnNameHeader)) { strOrderColumn = strColumnName.Replace(m_strColumnNameHeader, ""); if (strOrderColumn == "1")//点击第一列不进行排序 { return; } p_dwcView.Modify(m_strColumnNameHeader + m_strCurrentSortColumn + ".Text='" + p_dwcView.Describe(m_strColumnNameHeader + m_strCurrentSortColumn + ".Text").Replace(" ↑", "").Replace(" ↓", "") + "'"); if (strOrderColumn == m_strCurrentSortColumn) { if (m_enmCurrentSortOrder == System.Windows.Forms.SortOrder.Ascending) { m_enmCurrentSortOrder = System.Windows.Forms.SortOrder.Descending; } else { m_enmCurrentSortOrder = System.Windows.Forms.SortOrder.Ascending; } } else { m_enmCurrentSortOrder = m_enmDefaultSortOrder; m_strCurrentSortColumn = strOrderColumn; } enmSortOrder = m_enmCurrentSortOrder; string strSortOrder = string.Empty; if (enmSortOrder == System.Windows.Forms.SortOrder.Ascending) { p_dwcView.Modify(strCurObj + ".Text='" + p_dwcView.Describe(strCurObj + ".Text") + " ↑'"); strSortOrder = "A"; } else { p_dwcView.Modify(strCurObj + ".Text='" + p_dwcView.Describe(strCurObj + ".Text") + " ↓'"); strSortOrder = "D"; } p_dwcView.SetSort("#" + strOrderColumn + " " + strSortOrder); p_dwcView.Sort(); } } } catch { } } #endregion
浙公网安备 33010602011771号