public void GenerateSource(int count)
{
dt = new DataTable("DataSheet");
dt.Columns.Add("Base", typeof(string));
dt.Columns.Add("Fabricante", typeof(string));
dt.Columns.Add("Number", typeof(string));
dt.Columns.Add("Revised", typeof(string));
for (int i = 0; i < count; i++)
{
dt.Rows.Add("Rigida", "Fabricante Item", random.Next(0, 100), true);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
var row = dt.Rows[i].ItemArray;
this.contactsInfo.Base = (row[i] as string);
this.contactsInfo.Fabricante = (row[i + 1] as string);
this.contactsInfo.Number = (row[i + 2] as string);
if ((row[i + 3] as string) == "True")
{
this.contactsInfo.Revised = true;
}
else
{
this.contactsInfo.Revised = false;
}
}
} |
// dataform item creating using dictionary.
dataForm.DataObject = new object();
dataFormViewModel = bindable.BindingContext as DataFormViewModel;
dataForm.ItemManager = new DataFormItemManagerExt(dataForm, dataFormViewModel.dictionary);
public class DataFormItemManagerExt : DataFormItemManager
{
Dictionary<string, object> dataFormDictionary;
public DataFormItemManagerExt(SfDataForm dataForm, Dictionary<string, object> dictionary) : base(dataForm)
{
dataFormDictionary = dictionary;
}
protected override List<DataFormItemBase> GenerateDataFormItems(PropertyInfoCollection itemProperties, List<DataFormItemBase> dataFormItems)
{
var items = new List<DataFormItemBase>();
foreach (var key in dataFormDictionary.Keys)
{
DataFormItem dataFormItem;
if (key == "Base")
{
dataFormItem = new DataFormDropDownItem() { Name = key, Editor = "DropDown" };
List<string> baseSource = new List<string>();
baseSource.Add("Rigida");
baseSource.Add("Flexible");
(dataFormItem as DataFormDropDownItem).ItemsSource = baseSource;
}
else if (key == "Fabricante")
{
dataFormItem = new DataFormTextItem() { Name = key, Editor = "Text" };
}
else if (key == "Number")
{
dataFormItem = new DataFormNumericItem() { Name = key, Editor = "Numeric", MaximumNumberDecimalDigits = 0 };
}
else if (key == "Revised")
{
dataFormItem = new DataFormDropDownItem() { Name = key, Editor = "DropDown" };
List<string> baseSource = new List<string>();
baseSource.Add("true");
baseSource.Add("false");
(dataFormItem as DataFormDropDownItem).ItemsSource = baseSource;
}
else
dataFormItem = new DataFormTextItem() { Name = key, Editor = "Text" };
items.Add(dataFormItem);
}
return items;
}
} |
<ContentPage.BindingContext>
<dataformxamarin:DataFormViewModel x:Name="ViewModel"/>
</ContentPage.BindingContext>
<ContentPage.Behaviors>
<dataformxamarin:DataFormBehavior/>
</ContentPage.Behaviors>
<ContentPage.Content>
<Grid Padding="0,20,0,0">
<dataForm:SfDataForm x:Name="dataForm" AutoGenerateItems="False">
<dataForm:SfDataForm.Items>
<dataForm:DataFormTextItem Name="Name" Editor="Text"/>
<dataForm:DataFormMaskedEditTextItem Name="Phone" Editor="MaskedEditText"/>
<dataForm:DataFormTextItem Name="Address" Editor="MultilineText"/>
<dataForm:DataFormDateItem Name="BirthTime" Editor="Date"/>
</dataForm:SfDataForm.Items>
</dataForm:SfDataForm>
</Grid>
</ContentPage.Content> |