Laden...

Xamarin: Button hinzugefügt, wie kann ich beim Klick die Zelle herausfinden?

Erstellt von max85 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.629 Views
M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 5 Jahren
Xamarin: Button hinzugefügt, wie kann ich beim Klick die Zelle herausfinden?

Hallo,
Ich habe eine Frage zum Tableview cell Button.Ich füge im Getcell methode ein Button.Wenn ich mein Button klicke möchte ich wissen in welche Zelle mein Button sich befindet.Weiss villeicht jemand wie ich das mache??
Danke im Voraus!


  public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) 
        {
             
            var cell =tableView.DequeueReusableCell(cellIdentifier);
            cell.TextLabel.Text = tableItems[indexPath.Row].Ip;
            editButton = UIButton.FromType(UIButtonType.RoundedRect);
            editButton.Frame = new RectangleF(200, 10, 150, 40);
            editButton.SetTitle("EDIT", UIControlState.Normal);
            editButton.Font = UIFont.FromName("Helvetica-Bold", 15f);
            cell.AddSubview(editButton);
            editButton.TouchUpInside += (sender, e) => {
                ipcontroller.PerformSegue("addipsegue", this);
            };  
            if (tableItems[indexPath.Row].Save)//switch on 
            { cell.Accessory = UITableViewCellAccessory.Checkmark; }
            else
            { cell.Accessory = UITableViewCellAccessory.None; }
            
            return cell;
        }


709 Beiträge seit 2008
vor 5 Jahren

Innerhalb des Event-Handlers hast du in dieser Art Zugriff auf indexPath und kannst dadurch herausfinden, in welcher Zeile/Spalte deine Zelle ist.

M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 5 Jahren

@pinki, Vielen Dank für deine Antwort.Ich weiss aber nicht wie ich das mache,hat jemand vllt. code dazu??
Danke

4.938 Beiträge seit 2008
vor 5 Jahren

Du benutzt doch schon indexPath.Row in deinem Code. Benutze diesen einfach innerhalb deiner Lambda-Methode für TouchUpInside.

M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 5 Jahren

Vielen Dank!
mit

 tableView.SelectRow(indexPath, animated: true, scrollPosition: UITableViewScrollPosition.None);

hat es geklappt.