【发布时间】:2017-07-10 19:15:39
【问题描述】:
我有一个列表视图,其中包含来自名为actualmeterreading 的列表中的数据。在每一行中,都有一个标签和条目,都显示列表中的数据。用户可以编辑条目中显示的数据。如何遍历列表视图并获取用户在条目中输入的数据?
用于填充列表视图的代码。
list = new ListView
{
ItemsSource = actualmeterreading,
RowHeight = 50,
ItemTemplate = new DataTemplate(() =>
{
printDesc = new Label();
string desc = actualmeterreading[x].MachineMeterReadingList.Meterreadingdescription.Description;
printDesc.Text = desc;
meterreading = new Entry();
string reading = actualmeterreading[x].ActualReading.ToString();
meterreading.Text = reading;
meterreading.FontSize = 14;
x = x + 1;
//nameLabel2.WidthRequest = 300;
//nameLabel2.SetBinding(Entry.TextProperty, "");
// Return an assembled ViewCell.
return new ViewCell
{
View = new StackLayout
{
Padding = new Thickness(0, 5),
Orientation = StackOrientation.Horizontal,
Children =
{
new StackLayout
{
VerticalOptions = LayoutOptions.Center,
Spacing = 0,
Children =
{
printDesc,
meterreading
//nameLabel2
}
}
}
}
};
})
};
点击提交按钮时循环遍历列表视图。
private void submitbtn_Clicked(object sender, EventArgs e)
{
int x = 0;
foreach (var c in list.ItemsSource)
{
int r = c.?
myactualreading = new actualmeterreading
{
ActualReading = r
};
x = x + 1;
dataservice.UpdateActualReading(myactualreading);
}
}
当我进行一些搜索时,有人提到 View 模型和两种方式绑定。有没有人有关于那个或任何其他解决方案的解决方案?谢谢
【问题讨论】:
-
最好的方法是使用 MVVM 数据绑定,如果您不愿意这样做,只需为 Entry 编写一个 Text changed 事件并在那里更新源项
标签: c# listview xamarin.forms