海外主机测评

您现在的位置是:首页 > 云服务器代理 > 正文

云服务器代理

listview排序list里面排序

cds8202023-04-17云服务器代理97
本文目录一览:1、安卓中怎么实现listview条目拖动排序2、如何用listview实现对数值进行排序3、listview排序问题.请问如何按第二列进行排序4、listv

本文目录一览:

  • 1、安卓中怎么实现listview 条目拖动排序
  • 2、如何用listview实现对数值进行排序
  • 3、listview排序问题.请问如何按第二列进行排序
  • 4、listview如何排序
  • 5、listview的排序功能是怎么实现的

安卓中怎么实现listview 条目拖动排序

SlideAndDragListView,可排序、可滑动item显示”菜单”的ListView。

SlideAndDragListView(SDLV)继承于Android的ListView,SDLV可以拖动item到SDLV的任意位置,其中包括了拖动item往上滑和往下滑;SDLV可以向右滑动item,像Android的QQ那样(QQ是向左滑),然后显现出来"菜单”之类的按钮。

如何用listview实现对数值进行排序

当我们用ListView显示数据时,有一种很人性化的设计便是单击ListView某一列,该列则以升序或降序排列。

自己定义一个类继承自IComparer接口

class ListViewSort:IComparer

{

private int col;

private bool descK;

public ListViewSort()

{

col = 0;

}

public ListViewSort(int column, object Desc)

{

descK = (bool)Desc;

col = column; //当前列,0,1,2...,参数由ListView控件的ColumnClick事件传递

}

public int Compare(object x, object y)

{

int tempInt = String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);

if (descK) return -tempInt;

else return tempInt;

}

}

在ListView的ColumnClick事件中调用

代码如下

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)

{

if (this.listView1.Columns[e.Column].Tag == null)

this.listView1.Columns[e.Column].Tag = true;

bool flag = (bool)this.listView1.Columns[e.Column].Tag;

if (flag)

this.listView1.Columns[e.Column].Tag = false;

else

this.listView1.Columns[e.Column].Tag = true;

this.listView1.ListViewItemSorter = new ListViewSort(e.Column, this.listView1.Columns[e.Column].Tag);

this.listView1.Sort();//对列表进行自定义排序

}

listview排序问题.请问如何按第二列进行排序

那你应该对你的数据根据你要处理的变量进行一个比较排序, 如果是ArrayList可以通过collectiONs类的sort方法来进行排序,如果想自定义排序方式则可以类通过实现Comparator接口并重写compare方法调用sort方法时将ArrayList对象与实现Commparator

listview如何排序

function ListViewCompare(lParam1, lParam2, lParamSort: Integer): Integer stdcall;begin //lParam1是第一个Item,lParam2是第二个Item, //内部用的是快速排序,体系会给你两个Item让你比较,procedure TForm1.ListView1ColumnClick(Sender:TObject); //比较的规矩由你决定,我这里是简单的比较字符串。 Result := Comparetext(TListItem(lParam1).Text, TListItem(lParam2).Text);end;begin Listview1.CustomSort(ListViewCompare, 0); //应当是CustomSort。

listview的排序功能是怎么实现的

在VB.NET中,您可以通过创建一个类来实现System.Collections.IComparer接口,实现ListView控件的排序功能。具体实现是:创建该类的实例,赋予给ListView1控件对象的ListViewItemSorter属性,然后在ListView的ColumnClick事件句柄(ListView1_ColumnClick)中添加代码实现按点击列排序。

下面提供一段示例代码功能参考,请根据您的系统的实际情况进行相应的修改:

Private Sub ListView1_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles ListView1.ColumnClick

ListView1.Sorting = SortOrder.Ascending

Dim Sorter = New ListViewSorter(e.Column)

ListView1.ListViewItemSorter = Sorter

End Sub

Public Class ListViewSorter

Implements System.Collections.IComparer

Public SortIndex As Integer

Public Sub New(ByVal SortIndex As Integer)

Me.SortIndex = SortIndex

End Sub

//这里只考虑按数值排序

Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare

Dim x1, y1 As ListViewItem

Dim intx, inty As Integer

x1 = x

y1 = y

intx = ParseListItemString(x1.SubItems(SortIndex).ToString())

inty = ParseListItemString(y1.SubItems(SortIndex).ToString())

If (intx inty) Then

Return -1

ElseIf (intx = inty) Then

Return 0

End If

Return 1

End Function

Private Function ParseListItemString(ByVal x As String) As Integer

Dim counter, i As Integer

counter = 0

For i = x.Length - 1 To 0 Step -1

If (x.Chars(i) = "{") Then

Exit For

End If

counter = counter + 1

Next i

Return CInt((x.Substring(x.Length - counter, counter - 1)))

End Function

End Class

listview排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于list里面排序、listview排序的信息别忘了在本站进行查找喔。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~