Xamarin的Telerik UI?下载30天免费试用

编辑命令

RadDataGrid控件提供了以下命令用于编辑列内的数据:

  • BeginEdit:在开始编辑之前提供一个入口点。
  • CancelEdit:在取消编辑之前提供一个入口点。
  • CommitEdit:在提交编辑之前提供一个入口点。

对象的执行参数编辑命令是类型的EditContext它公开了以下属性:

  • CellInfo:获取与操作关联的单元格信息。
  • TriggerAction:获取触发操作的SourceTriggerAction值。
  • 参数:获取一个可选参数,其中包含与操作关联的其他信息。

BeginEdit和CommitEdit命令示例

下面是RadDataGrid编辑命令的工作示例:

首先,创建所需的业务对象,例如具有以下属性的Data类型:

公共类数据{公共字符串国家{获取;设置;} public string大写{get;设置;}}

然后创建一个包含数据对象集合的ViewModel:

公共类ViewModel {public ObservableCollection Items {get;设置;} public ViewModel() {this。item = new ObservableCollection(){新数据{国家= "印度",首都= "新德里"},新数据{国家= "南非",首都= "开普敦"},新数据{国家= "尼日利亚",首都= "阿布贾"},新数据{国家= "新加坡",首都= "新加坡"}};}}

然后将BeginEdit操作作为命令处理。首先,创建一个继承于DataGridCommand的类,并相应地设置它的Id属性。你还需要重写CanExecute和Execute方法,如下面的例子所示:

公共类BeginEditCommand: DataGridCommand {public BeginEditCommand() {this。Id = datagridcommanddid . beginedit;} public override void执行(对象参数){var context = (EditContext)参数;var cellEdit = $"BeginEdit on: {context.CellInfo. var cellledit = $"值}通过{context。TriggerAction} \ n”;Application.Current.MainPage。DisplayAlert("", "" + cellEdit, "OK");this.Owner.CommandService.ExecuteDefaultCommand (DataGridCommandId。BeginEdit、参数);}}

然后将CommitEdit操作作为命令处理。首先,创建一个继承于DataGridCommand的类,并相应地设置它的Id属性。你还需要重写CanExecute和Execute方法,如下面的例子所示:

公共类CommitEditCommand: DataGridCommand {public CommitEditCommand() {this。Id = DataGridCommandId.CommitEdit;} public override void执行(对象参数){var context = (EditContext)参数;Application.Current.MainPage。DisplayAlert("", "编辑已提交","OK");this.Owner.CommandService.ExecuteDefaultCommand (DataGridCommandId。CommitEdit、参数);}}

然后将这些命令添加到RadDataGrid实例的Commands集合中:

这一点。BindingContext = new ViewModel();dataGrid.Commands。添加(新BeginEditCommand ());dataGrid.Commands。添加(新CommitEditCommand ());

在XAML中定义RadDataGrid:

浏览器应用程序包含一个示例,说明如何使用BeginEdit命令。编辑示例位于DataGrid/Commands文件夹中。

另请参阅

在本文中
Baidu
map