listview排序问题.请问如何按第二列进行排序
那你应该对你的数据根据你要处理的变量进行一个比较排序, 如果是ArrayList可以通过collections类的sort方法来进行排序,如果想自定义排序方式则可以类通过实现Comparator接口并重写compare方法调用sort方法时将ArrayList对象与实现Commparator
C#listView第二列显示图标
自带的 ListView 控件满足不了你的需求,只能自己继承重写一个控件。我这里有一份在每一列都显示图标的例子题主可以参考一下,见附件下载。
android listview 每行中 有两列 第二列有两行的效果是怎么做的 下图给图~
点击listview某项的事件可用这个:myListView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView《?》 parent, View listitem, int position,long a) {}});获取所选行的电话号码:不知道楼主给listview绑数据源的时候用的是什么数据结构,不过肯定可以通过上面点击事件中的position参数来从数据源中获取到所选这行的数据,然后再取这行数据的第三列值,就可以把电话号码取出来。拨打电话:取到电话号码了,那么只要这样就可以调用手机的默认拨号程序startActivity(new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:“+“这里写获取到的电话号码“)));
vb 修改listview某行某列的内容,非单击
Private Sub Command1_Click()
ListView1.ListItems.Remove 2 ’删除其中一项
End Sub
Private Sub Command2_Click() ’排序 直接修改第一列的值
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Text = i
Next
End Sub
Private Sub Form_load()
ListView1.View = lvwReport
ListView1.ColumnHeaders.Add , ““, “第一列“
ListView1.ColumnHeaders.Add , ““, “第二列“
ListView1.ColumnHeaders.Add , ““, “第三列“
Dim itmX As ListItem
For i = 1 To 5
Set itmX = ListView1.ListItems.Add(i, ““, i)
Next
End Sub
VB Listview 中排序
listview中只能保存的事string类型的数据,就是数字类型的,也是转换成string后保存在里边,string的排序方式你应该知道吧
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实现对数值进行排序
当我们用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.Text);
if (descK) return -tempInt;
else return tempInt;
}
}
在ListView的ColumnClick事件中调用
代码如下
private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
{
if (this.listView1.Columns.Tag == null)
this.listView1.Columns.Tag = true;
bool flag = (bool)this.listView1.Columns.Tag;
if (flag)
this.listView1.Columns.Tag = false;
else
this.listView1.Columns.Tag = true;
this.listView1.ListViewItemSorter = new ListViewSort(e.Column, this.listView1.Columns.Tag);
this.listView1.Sort();//对列表进行自定义排序
}
C#中ListView控件如果有两列,那么怎么把string类型的值显示在第二列
ListViewItem lvi = new ListViewItem(new string {“ch1”,“(ch3“ }, -1);//创建列表项
lsv.Items.Add(lvi);//将项加入listView1列表中
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