.net 填充listview多列
关于Listbox到ListView的迁移 你好 我有一个列表框,可以向其中添加如下条目: 一,;内容 其中1始终是int,而内容始终是字符串。我可以分别访问每一个 现在,我希望结果按降序排序,即:.net 填充listview多列,.net,c#-4.0,listview,.net,C# 4.0,Listview,关于Listbox到ListView的迁移 你好 我有一个列表框,可以向其中添加如下条目: 一,;内容 其中1始终是int,而内容始终是字符串。我可以分别访问每一个 现在,我希望结果按降序排序,即: 1;content 4;content2 2;content3 => 由于这看起来不太好,我想改用Listview。像这样: Frequency | Content =============== 4 | content2 2 | content3 1 | content 问题是,tablar属
1;content
4;content2
2;content3
=>
由于这看起来不太好,我想改用Listview。像这样:
Frequency | Content
===============
4 | content2
2 | content3
1 | content
问题是,tablar属性似乎不存在,所有条目都像符号一样放在资源管理器的listview中。此外,我在“到达”第二栏(内容)时遇到问题,即我只看到4,2,1
如何在c#.net 4中准备和填充listview?经典使用us listview GridView。GridView用于添加列
要将ListView设置为详细信息模式:
listView1.View = View.Details;
然后设置两列:
listView1.Columns.Add("Frequency");
listView1.Columns.Add("Content");
然后添加您的项目:
listView1.Items.Add(new ListViewItem(new string[]{"1", "content"}));
listView1.Items.Add(new ListViewItem(new string[]{"4", "content2"}));
listView1.Items.Add(new ListViewItem(new string[]{"2", "content3"}));
我选择使用ListViewItem构造函数的重载,该构造函数接受表示列值的字符串数组。但是有22个过载!仔细看看,然后找到最适合你的情况
要设置项目的自动排序,请执行以下操作:
listView1.Sorting = SortOrder.Descending;
我意识到这篇文章已经有一年多的历史了,但我认为这可能有用,几年前我写了一篇关于将ListView用作多列ListBox的文章,其中包括填充它的代码。这篇文章可以在这里找到(),它是用VB.NET编写的,但是C#的代码几乎完全相同,我可能会用C#重写它,并会为此添加一个链接,但那将是另一个时间
希望这有帮助,如果您不想告诉我:)要添加列表视图标题并将项目添加到列表视图,请尝试以下代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Lstv1.Columns.Add("Paramname", CInt(Lstv1.Width / 2))
Lstv1.Columns.Add("Paramorder", CInt(Lstv1.Width / 2))
End Sub
Private Sub appendlistview(ByVal Paramname As String, ByVal Paramorder As String)
Dim newitem As New ListViewItem(Paramname)
newitem.SubItems.Add(Paramorder)
Lstv1.Items.Add(newitem)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
Call appendlistview(TextBox1.Text, TextBox2.Text)
End Sub
以下是从命令窗口编译它的完整代码:
导入System.Windows.Forms
导入系统。绘图
公开课表格1
继承System.Windows.Forms.Form
Public ListView1 As ListView
Public Col_Header1 As ColumnHeader
Public Col_Header2 As ColumnHeader
Public Col_Header3 As ColumnHeader
Public Col_Header4 As ColumnHeader
Public Sub New()
ListView1 = New ListView
Col_Header1 = New ColumnHeader
Col_Header2 = New ColumnHeader
Col_Header3 = New ColumnHeader
Col_Header4 = New ColumnHeader
ListView1.Columns.AddRange(New ColumnHeader() { _
Col_Header1, _
Col_Header2, _
Col_Header3, _
Col_Header4})
Col_Header1.Text = "Header1"
Col_Header1.Width = 200
Col_Header2.Text = "Header2"
Col_Header2.Width = 200
Col_Header3.Text = "Header3"
Col_Header3.Width = 200
Col_Header4.Text = "Header4"
Col_Header4.Width = 400
Dim myItems As String() = New String() { _
"Item1", _
"Item2", _
"Item3", _
"Item4"}
Dim myItems1 As String() = New String() { _
"Item11", _
"Item12", _
"Item13", _
"Item14"}
Dim myItems2 As String() = New String() { _
"Item21", _
"Item22", _
"Item23", _
"Item24"}
Dim myItems3 As String() = New String() { _
"Item31", _
"Item32", _
"Item33", _
"Item34"}
Dim myItems4 As String() = New String() { _
"Item41", _
"Item42", _
"Item43", _
"Item44"}
Dim lvi As ListViewItem = New ListViewItem(myItems)
ListView1.Items.Add(lvi)
Dim lvi1 As ListViewItem = New ListViewItem(myItems1)
ListView1.Items.Add(lvi1)
Dim lvi2 As ListViewItem = New ListViewItem(myItems2)
ListView1.Items.Add(lvi2)
Dim lvi3 As ListViewItem = New ListViewItem(myItems3)
ListView1.Items.Add(lvi3)
Dim lvi4 As ListViewItem = New ListViewItem(myItems4)
ListView1.Items.Add(lvi4)
ListView1.AllowColumnReorder = True
ListView1.Font = New System.Drawing.Font("Segoe UI",15.0!, _
System.Drawing.FontStyle.Bold, System.Drawing. _
GraphicsUnit.Point,CType(0, Byte))
ListView1.FullRowSelect = True
ListView1.HideSelection = False
ListView1.Dock = DockStyle.Fill
ListView1.Name = "listView1"
ListView1.View = View.Details
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(800,600)
Me.Controls.Add(ListView1)
Me.Text = "Deep_Research_For_ListView_Developement"
Me.Name = "Research_Form1"
Me.ResumeLayout(False)
End Sub
Public Shared Sub Main()
Dim form1 As Form1 = New Form1()
form1.ShowDialog()
End Sub
Private Sub Research_Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Location = New System.Drawing.Point(0,0)
这两种代码都可以工作-###########################
'对于listView1.Items中的每个i As ListViewItem
'i.ForeColor=颜色.绿色
'i.BackColor=Color.Yellow”“接着呢
For Each i As ListViewItem In ListView1.Items
If (i.Index Mod 2) = 1 Then
i.BackColor = Color.FromArgb(230, 150, 255)
i.UseItemStyleForSubItems = True
End If
Next
这两种代码都可以工作-###########################
端接头
末级
来自CMD的编译器调用:-
vbc.exe-目标:exe[路径]\Form1.vb
[path]\Form1.exe非常感谢您!这是我发现的唯一有意义的答案!正是我需要的。(我正在用XML填充列表视图)你现在是我心目中的英雄。以我的upvote:)为例,也可以使用
listView1.GridLines=true代码>,对齐方式listView1.Columns[0]。TextAlign=HorizontalAlignment.Center代码>。对于列宽请看这里:。作品很有魅力,经过这么长时间终于找到了答案哈哈,谢谢男人♥这是标记为c#的,而不是VB。
For Each i As ListViewItem In ListView1.Items
If (i.Index Mod 2) = 1 Then
i.BackColor = Color.FromArgb(230, 150, 255)
i.UseItemStyleForSubItems = True
End If
Next