当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: http://tech.sina.com.cn/it/e/2002-06-04/118877.shtml ......
 ·一个关于用vb绘图的问题    »显示摘要«
    摘要: 现在我遇到一个小问题,想请教请教各位! 我用picture1.pset画出了一个波形的点,想把这些点用线连起来,怎么做啊?》? 该用什么语句啊? ......


ListView的排序问题

ListView在Detail形式的时候,如何才能使其按不同的列排序!  
   
  记得以前用VB时,有SortKey   属性,但是现在没有了!  
   
  如何实现??

NO.1   作者: charlce

你先要实现一个IComparer接口,然后给listview的ListViewItemSorter属性附值

NO.2   作者: acptvb

感谢您使用微软产品。  
   
  在.NET   Framework中,您可以通过创建一个类来实现System.Collections.IComparer接口,来实现ListView控件的排序功能。具体实现是:创建该类的实例,赋予给ListView1控件对象的ListViewItemSorter属性,然后在ListView的ColumnClick事件句柄中添加代码实现按点击列排序。  
  下面提供一段示例代码功能参考,请根据您的系统的实际情况进行相应的修改:  
  private   void   listView1_ColumnClick(object   sender,   System.Windows.Forms.ColumnClickEventArgs   e)  
  {  
  ColumnSort   columnsort   =   new   ColumnSort(e.Column);  
  columnsort.bAscending   =   (listView1.Sorting   ==   SortOrder.Ascending);  
  if   (columnsort.bAscending)  
  {  
  listView1.Sorting   =   SortOrder.Descending;  
  }  
  else  
  {  
  listView1.Sorting   =   SortOrder.Ascending;  
  }  
  listView1.ListViewItemSorter=columnsort;  
  }  
   
  public   class   ColumnSort:IComparer  
  {  
  private   int   columnNum   =   0;  
  public   bool   bAscending     =   true;  
  public   ColumnSort(int   column_to_sort)  
  {  
  columnNum=column_to_sort;  
  }  
   
  public   int   Compare(object   a,   object   b)  
  {  
  System.Windows.Forms.ListViewItem  
  listItemA=(System.Windows.Forms.ListViewItem)a;  
  System.Windows.Forms.ListViewItem  
  listItemB=(System.Windows.Forms.ListViewItem)b;  
  if   (bAscending)  
    {  
    return   String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString());  
    }  
  else  
  {  
  return   -1   *   String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString());  
  }  
  }  
  }  
   
  关于ListView控件类的更详细信息,请参考如下MSDN:  
  ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemWindowsFormsListViewMembersic.htm  
   
   
    —   微软全球技术中心   VB支持中心  
   
  本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。  
  为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。  
 


 ·如何设置meomo控件行间距    »显示摘要«
    摘要: 1 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE