gpt4 book ai didi

c# - Xamarin 如何根据默认设置以编程方式选择uitableview单元格

转载 作者:行者123 更新时间:2023-11-29 00:31:14 26 4
gpt4 key购买 nike

我看过几个 uitableview 和加载数据的例子,但我找不到我需要的解决方案。

基本上我有一个数据源 (myList),我将数据加载到 UIViewController 中

public class Lookup
{

public string ID { get; set; }
public string Name { get; set; }
}

public List<Lookup> myList = new List<Lookup>();

从 Web 服务加载数据后,我将数据绑定(bind)到 tableview,工作正常....

myTableView.Source = new tableSource(MyList, this);

这是来自源的示例....

   class tableSource : UITableViewSource
{
List<HospitalLookup> TableItems;
string CellIdentifier = "TableCell";
UIVCPreferences Parent;

public tableSitesSource(List<Lookup> items, UIVCPreferences parent)
{
TableItems = items;
Parent = parent;
}
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
UITableViewCell cell = tableView.DequeueReusableCell(CellIdentifier);
Lookup item = TableItems[indexPath.Row];
if (cell == null)
{ cell = new UITableViewCell(UITableViewCellStyle.Default, CellIdentifier); }
cell.TextLabel.Text = item.Name;...

我正在尝试找到一种根据用户的偏好值选择表值的方法,假设 UserLookupValue = 5。

我看过 scrolltorow 但我不知道如何根据数据源 ID 或名称找到索引。我试过类似的东西:

       myTableView.SelectRow(List.Find(UserLookupValue),false,UITableViewScrollPosition.None);       

我想我可能需要另一种方法来做到这一点,我们将不胜感激。

最佳答案

首先:您的代码难以阅读。您应该通过坚持 c# 的通用命名约定来改进它。

什么是 ListmyTableView.SelectRow(...) ?如果它是 List<LookUp> 类型它应该由myList .还有 SelectRow需要一个 NSIndexPath 作为第一个参数但是 List.Find将返回一个 Lookup 实例。通过替换尝试以下操作

myTableView.SelectRow(List.Find(UserLookupValue),false,UITableViewScrollPosition.None);

var userLookupValueIndex = myList.IndexOf(userLookupValue);    
myTableView.SelectRow(NSIndexPath.FromRowSection(userLookupIndex, 0), false, UITableViewScrollPosition.None);

这对你有用吗?

关于c# - Xamarin 如何根据默认设置以编程方式选择uitableview单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41746368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com