作者e23882 (呆呆要不要买降有)
看板C_Sharp
标题Re: [问题] Android Xamarin DataGrid update
时间Tue Jun 15 09:19:03 2021
让DataGrid Itemsource属性绑定在ObservableCollection资料集合上
public ObservableCollection<YourDataModel> Collection
{
get{....}set{....}
}
这样在Collection属性新增或是删除的时候元件会接收到通知更新画面
但是修改的时候不会更新画面
所以你要让YourDataModel继承INotifyPropertyChanged介面,并实作方法
让DataModel之间属性变更时通知其他属性
public class YourDataModel:INotifyPropertyChanged
{
private string _PropertyA = string.empty;
public string PropertyA
{
set
{
if(_Property != value)
{
_PropertyA = value;
OnPropertyChanged("A");
OnPropertyChanged("E");
}
}
}
}
※ 引述《sunny10463 ( )》之铭言:
: 最近在写xamarin遇到个问题
: 图一:https://imgur.com/4vILlbA.jpg
: 图二:https://imgur.com/PIErXTB.jpg
: E = (B-C)*D
: 图一为一开始以MVVM架构载入,会自动计算栏位E
: 但是图二,修改栏位D(或C)栏位时,不会自动计算栏位E
: 请问各位高手该用何事件?
: 程式码:
: <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
: xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
: xmlns:dg="clr-namespace:Xamarin.Forms.DataGrid;assembly=Xamarin.Forms.DataGrid">
: <dg:DataGrid.Columns>
: <dg:DataGridColumn Title="A" PropertyName="A" Width="1*"/>
: <dg:DataGridColumn Title="B" PropertyName="B" Width="1*"/>
: <dg:DataGridColumn Title="C" PropertyName="C" Width="1*" >
: <dg:DataGridColumn.CellTemplate>
: <DataTemplate>
: <Entry Text="{Binding .}" Keyboard="Numeric" />
: </DataTemplate>
: </dg:DataGridColumn.CellTemplate>
: </dg:DataGridColumn>
: <dg:DataGridColumn Title="D" PropertyName="D" Width="1*">
: <dg:DataGridColumn.CellTemplate>
: <DataTemplate>
: <Entry Text="{Binding .}" Keyboard="Numeric"
: Completed="Entry_Completed"/>
: </DataTemplate>
: </dg:DataGridColumn.CellTemplate>
: </dg:DataGridColumn>
: <dg:DataGridColumn Title="E" PropertyName="E"
: BindingContext="{Binding E}" Width="1*"/>
: </dg:DataGrid.Columns>
: </ContentPage>
: 谢谢
--
1F:推 psp2007 :我朋友说 ADC不要第一个死 07/28 16:53
2F:→ lianngg :我朋友说 ADC不要脸皮太薄 07/28 16:55
3F:→ JOGIBA :我朋友说 ADC赢要冲输要缩 07/28 16:56
4F:推 jjerry8888 :楼上抄电影赌神台词XDDD 07/28 16:57
5F:推 yang790609 :我朋友说 ADC打你打得到的 07/28 16:58
6F:推 maynightdado:我朋友说我很帅 07/28 16:59
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.31.13 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1623719945.A.D91.html