在WPF列表视图显示行号 [英] Display row numbers in Wpf Listview
问题描述
我有一个正在从SQL Server数据库中,创建一个ListView你怎么包括行号?
< ListView的X:名称=lstNameHEIGHT =400Canvas.Top =55WIDTH =450>
< ListView.View>
<&GridView的GT;
< GridViewColumn标题=号码宽度=自动
DisplayMemberBinding ={绑定路径= ID}/>
< GridViewColumn标题=姓WIDTH =自动
DisplayMemberBinding ={绑定路径= FName参数}/>
< GridViewColumn标题=姓氏WIDTH =自动
DisplayMemberBinding ={绑定路径= LName的}/>
< GridViewColumn标题=的StreetAddressWIDTH =自动
DisplayMemberBinding ={绑定路径=街道}/>
< GridViewColumn标题=城WIDTH =自动
DisplayMemberBinding ={绑定路径=城市}/>
< GridViewColumn标题=国家WIDTH =自动
DisplayMemberBinding ={绑定路径=国家}/>
< / GridView的>
< /ListView.View>
< /&的ListView GT;
我不明白一个简单的方法做,因为WPF的理念是绑定到数据,然后认为应该是独立的。
但我可以看到怎样的一个黑客得到它的工作。
您绑定(一次性
)对您的视图模型一个计数
属性,在获取此属性
访问,你遍历加上计数
来返回它。
这样的话,每个的ListView
项目将有一个适当的索引。
但要小心与解决方案,您将无法在那之后的索引追溯项目。如果您还需要做到这一点无论出于什么原因,你应该真正发挥 IdInTable
字段中的对象,并在您的视图模型正确填充它。
I have a listview that is being created from a sql server database, how do you include the row numbers?
<ListView x:Name="lstName" Height="400" Canvas.Top="55" Width="450">
<ListView.View>
<GridView>
<GridViewColumn Header="Number" Width="auto"
DisplayMemberBinding="{Binding Path=Id}" />
<GridViewColumn Header="FirstName" Width="auto"
DisplayMemberBinding="{Binding Path=FName}" />
<GridViewColumn Header="LastName" Width="auto"
DisplayMemberBinding="{Binding Path=LName}" />
<GridViewColumn Header="StreetAddress" Width="auto"
DisplayMemberBinding="{Binding Path=Street}" />
<GridViewColumn Header="City" Width="auto"
DisplayMemberBinding="{Binding Path=City}" />
<GridViewColumn Header="State" Width="auto"
DisplayMemberBinding="{Binding Path=State}" />
</GridView>
</ListView.View>
</ListView>
I don't see an easy way to do that as WPF philosophy is to bind to data, and then the view should be independent.
But I can see kind of a hack to get it to work.
You bind (OneTime
) against a Counter
property from your ViewModel, and in the get
accessor of this property, you iterate the counter
in addition to returning it.
That way, each ListView
item will have a proper index.
But be careful with that solution, you won't be able to trace back an index to an item after that. If you need to also do that for whatever reason, you should actually make a IdInTable
field in your object and populate it correctly in your ViewModel.
这篇关于在WPF列表视图显示行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!