|
1 | 1 | using Syncfusion.Maui.DataForm; |
2 | 2 | using System; |
3 | | -using System.Collections.Generic; |
4 | | -using System.Linq; |
5 | | -using System.Text; |
6 | | -using System.Threading.Tasks; |
7 | 3 |
|
8 | 4 | namespace CustomEditor |
9 | 5 | { |
10 | 6 | internal class CustomDataEditor : IDataFormEditor |
11 | 7 | { |
12 | 8 | private SfDataForm dataForm; |
13 | | - private DataFormCustomItem dataFormCustomItem; |
| 9 | + private DataFormCustomItem? dataFormCustomItem; |
14 | 10 |
|
15 | 11 | public CustomDataEditor(SfDataForm dataForm) |
16 | 12 | { |
17 | 13 | this.dataForm = dataForm; |
18 | 14 | } |
| 15 | + |
19 | 16 | public void CommitValue(DataFormItem dataFormItem, View view) |
20 | 17 | { |
21 | | - dataFormItem.SetValue((view as Entry).Text); |
| 18 | + dataFormItem.SetValue((view as Entry)?.Text); |
22 | 19 | } |
23 | 20 |
|
24 | 21 | public View CreateEditorView(DataFormItem dataFormItem) |
25 | 22 | { |
26 | | - dataFormCustomItem = (DataFormCustomItem)dataFormItem; |
27 | | - if(dataFormItem.FieldName=="ProfileImage") |
| 23 | + dataFormCustomItem = dataFormItem as DataFormCustomItem; |
| 24 | + |
| 25 | + if (dataFormItem.FieldName == "ProfileImage") |
28 | 26 | { |
29 | 27 | var view = new Image() |
30 | 28 | { |
31 | | - Source=(dataFormItem.BindingContext as DataFormViewModel).ContactFormModel.ProfileImage, |
32 | | - HorizontalOptions=LayoutOptions.Center, |
33 | | - HeightRequest=80, |
34 | | - WidthRequest=80 |
| 29 | + Source = (dataFormItem.BindingContext as DataFormViewModel)?.ContactFormModel.ProfileImage, |
| 30 | + HorizontalOptions = LayoutOptions.Center, |
| 31 | + HeightRequest = 80, |
| 32 | + WidthRequest = 80 |
35 | 33 | }; |
36 | | - |
37 | 34 | return view; |
38 | 35 | } |
39 | | - else if(dataFormItem.FieldName=="Name") |
| 36 | + else if (dataFormItem.FieldName == "Name") |
40 | 37 | { |
41 | 38 | var entry = new Entry() |
42 | 39 | { |
43 | | - HorizontalOptions=LayoutOptions.Start, |
44 | | - VerticalOptions=LayoutOptions.Center |
| 40 | + HorizontalOptions = LayoutOptions.Start, |
| 41 | + VerticalOptions = LayoutOptions.Center |
45 | 42 | }; |
46 | 43 | entry.TextChanged += Entry_TextChanged; |
47 | 44 | return entry; |
48 | 45 | } |
49 | | - return null; |
50 | | - |
| 46 | + |
| 47 | + return new Label { Text = "Unsupported Field" }; // Avoid returning null |
51 | 48 | } |
52 | 49 |
|
53 | | - private void Entry_TextChanged(object sender, TextChangedEventArgs e) |
| 50 | + private void Entry_TextChanged(object? sender, TextChangedEventArgs e) |
54 | 51 | { |
55 | | - if(sender is InputView entry && dataFormCustomItem!=null) |
| 52 | + if (sender is InputView entry && dataFormCustomItem is not null) |
56 | 53 | { |
57 | 54 | this.CommitValue(dataFormCustomItem, entry); |
58 | 55 | } |
|
0 commit comments