\r
#region Sort関連\r
\r
+ /// <summary>\r
+ /// 選択しているコラムを設定あるいは取得を行う。\r
+ /// </summary>\r
+ public ColumnHeader SortColumn {\r
+ get {\r
+ return sortComparer.Column;\r
+ }\r
+ set {\r
+ sortColumn(value);\r
+ }\r
+ }\r
+ \r
protected void sortColumn(ColumnHeader column)\r
{\r
- int columnIndex = column.Index;\r
+ int columnIndex = (column != null)? column.Index : -1;\r
SortOrder order = SortOrder.None;\r
\r
- if (sortComparer.ColumnIndex == columnIndex) {\r
+ if (columnIndex < 0) {\r
+ sortComparer.Order = order = SortOrder.None;\r
+ } else if (sortComparer.ColumnIndex == columnIndex) {\r
order = (sortComparer.Order == SortOrder.Ascending)? SortOrder.Descending : SortOrder.Ascending;\r
\r
sortComparer.Order = order;\r
void ColumnCommonToolStripMenuItemClick(object sender, EventArgs e)\r
{\r
packageListView.BeginUpdate();\r
+ ColumnHeader sortcolumn = packageListView.SortColumn;\r
\r
// 列の追加と削除\r
foreach (ToolStripItem item in columnToolStripMenuItem.DropDownItems) {\r
foreach (ColumnHeader header in packageListView.Columns) {\r
if (header.Tag == menu.Tag) {\r
exists = true;\r
+ if (sortcolumn == header) {\r
+ packageListView.SortColumn = sortcolumn = null;\r
+ }\r
if (menu.Checked == false) {\r
packageListView.Columns.Remove(header);\r
}\r
}\r
}\r
\r
+ AppliStation.Util.NativeMethods.ColumnHeader_SetSortState(packageListView, (sortcolumn != null)? sortcolumn.Index : -1, SortOrder.None);\r
+ \r
packageListView.UpdateItems();\r
\r
packageListView.EndUpdate();\r