我想在DisplayView中显示所选项目的索引号,我的代码目前只显示item_code但我想在ListView中显示索引号,非常感谢。
我的.cs
lstView.ItemsSource = _sqLiteConnection.Table<ItemModel>();
lstView.ItemSelected += async (sender, e) =>
{
await DisplayAlert("Selected ",((ItemModel)e.SelectedItem).item_code
+ " was selected.", "OK");
};
我的xaml.cs
<ListView x:Name="lstView">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<StackLayout Orientation="Vertical" >
<Label Text="{Binding item_desc}" />
<Label Text="{Binding selling_price}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
查看模型
public class ItemModel
{
public string cost_method { get; set; }
public string item_code { get; set; }
public string item_desc { get; set; }
public string item_group_desc { get; set; }
public long item_id { get; set; }
public string stock_item { get; set; }
public string trnx_unit { get; set; }
public decimal selling_price { get; set; }
}
答案 0 :(得分:0)
这个问题已在几个主题中得到解答,其中一个可以在这里找到:
Xamarin Forms - Get position of item selected in Listview
简短的回答片段(归功于上述帖子):
var index = (myListView.ItemsSource as List<MyObject>).IndexOf (e.SelectedItem as MyObject);
答案 1 :(得分:0)
public Class Students
{
public int sid { get; set; }
public string Name { get; set; }
}
listview.ItemSelected += Lst_ItemSelected;
private void Lst_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var index = (listview.ItemsSource as List<Students>).IndexOf(e.SelectedItem as Students); // to get a index value or postion value
((ListView)sender).SelectedItem = null;
}