【新特性速遞】取消表格排序與排序提示信息(SortingCancel,SortingToolTip)


FineUIPro/Mvc/Core的下個版本(v7.0.0),我們會支持取消表格排序(SortingCancel),以及為表格標題欄增加排序的提示信息(SortingToolTip)。

 

目前的版本,一旦設置了表格的排序列,就不能取消了,只能改變列的排序狀態或者切換當前排序列。

新版本會增加取消排序的功能,通過為表格增加SortingCancel=true屬性即可,有兩種方式取消排序:

  • 點擊標題欄,會依次觸發:升序 -> 降序 -> 取消排序
  • 點擊標題欄旁邊的下拉菜單,可見【取消排序】菜單項

 

對后台代碼的影響,就是我們需要根據SortField是否為空,確定當前是否沒有列處於排序狀態。

下面通過官網示例,來對比下增加取消排序后對后台代碼的影響:https://pro.fineui.com/#/grid/grid_sorting.aspx

之前版本的邏輯:

private void BindGrid()
{
	string sortField = Grid1.SortField;
	string sortDirection = Grid1.SortDirection;

	DataTable table = DataSourceUtil.GetDataTable();

	DataView view1 = table.DefaultView;
	view1.Sort = String.Format("{0} {1}", sortField, sortDirection);

	Grid1.DataSource = view1;
	Grid1.DataBind();
}

 

新版本的邏輯:

private void BindGrid()
{
	string sortField = Grid1.SortField;
	string sortDirection = Grid1.SortDirection;

	DataTable table = DataSourceUtil.GetDataTable();

	// 判斷是否啟用排序
	if (!String.IsNullOrEmpty(sortField))
	{
		DataView view1 = table.DefaultView;
		view1.Sort = String.Format("{0} {1}", sortField, sortDirection);
		Grid1.DataSource = view1;
	}
	else
	{
		Grid1.DataSource = table;
	}
	
	Grid1.DataBind();
}

增加取消排序后,如果Grid1.SortField為空,則說明沒有列處於排序狀態,因為綁定的數據就無需排序處理。

 

下面來看下另一個更新:排序的提示信息

這個更新對有些用戶非常必要,因為他們總是搞不清楚箭頭向上和向下的含義,除非通過排序后的數據,否則對升級和降序沒有啥子概念。

 

下面來看下表格啟用SortingToolTip=true后的效果:  

如果列處於未排序狀態,光標移動到列標題欄時,會提示【點擊按升序排序】。

注意:提示信息表明點擊操作后的狀態,而非當前的排序狀態(這個頁面業界通用的做法)。

 

如果當前處於升序狀態,提示文本是【點擊按降序排序】:

 

這個提示信息已經做了多語言處理,來看下英文中的樣子:

 

 

歡迎入伙:https://fineui.com/fans/

三石出品,必屬精品 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM