dataForm.SourceProvider = new SourceProviderExt();
dataForm.RegisterEditor("AutoComplete", new ContactAutoCompleteEditor(dataForm));
dataForm.RegisterEditor("City", "AutoComplete"); |
(dataForm.DataObject as DataFormModel).PropertyChanged += DataFormBehavior_PropertyChanged;
…
…
..
..
private void DataFormBehavior_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
var dataObject = sender as DataFormModel;
var details = DataFormViewModel.Details;
if (e.PropertyName == "City")
{
var country = dataObject.City;
foreach(var detail in details)
{
if(country == detail.City)
{
dataObject.FirstName = detail.FirstName;
dataForm.UpdateEditor("FirstName");
}
}
}
} |
public class ContactAutoCompleteEditor : DataFormAutoCompleteEditor
{
public ContactAutoCompleteEditor(SfDataForm dataForm) : base(dataForm)
{
}
protected override SfAutoComplete OnCreateEditorView(DataFormItem dataFormItem)
{
var autoComplete = new SfAutoComplete();
autoComplete.SelectionChanged += AutoComplete_SelectionChanged;
return autoComplete;
}
private void AutoComplete_SelectionChanged(object sender, Syncfusion.SfAutoComplete.XForms.SelectionChangedEventArgs e)
{
App.Current.MainPage.DisplayAlert("", "selection Changed", "ok");
}
protected override void OnInitializeView(DataFormItem dataFormItem, SfAutoComplete view)
{
base.OnInitializeView(dataFormItem, view);
}
} |