Я хочу добавить пользовательский текст в мой Пикер.У меня есть средство выбора ItemsSource и ItemDisplayBinding из моей базы данных Как добавить пользовательский текст в ItemDisplayBinding , который я хочу смешать Код продавца с PresStreet и форматом «Код продавца - улица» Моя таблица ниже для справки
Название сборщика = "Выбрать код продавца* Мой код ниже показывает, как я получаю данные из своей базы данных и добавляю их в свой сборщик var db = DependencyService.Get<ISQLiteDB>(); var conn = db.GetConnection(); var getCode = conn.QueryAsync<RetailerGroupTable>("SELECT * FROM tblRetailerGroup WHERE ContactID=?", item.ContactID); var resultCount = getCode.Result.Count; if (resultCount > 0) { var result = getCode.Result; codePicker.ItemsSource = result; codePicker.IsEnabled = true; } else { lstName.IsVisible = false; codePicker.IsEnabled = false; } Таблица группы розничных продавцов: [Table("tblRetailerGroup")] public class RetailerGroupTable { [PrimaryKey, MaxLength(100)] public string RetailerCode { get; set; } public int ContactID { get; set; } [MaxLength(300)] public string PresStreet { get; set; } [MaxLength(90)] public string PresBarangay { get; set; } [MaxLength(90)] public string PresDistrict { get; set; } [MaxLength(90)] public string PresTown { get; set; } [MaxLength(90)] public string PresProvince { get; set; } [MaxLength(90)] public string PresCountry { get; set; } [MaxLength(30)] public string Telephone1 { get; set; } [MaxLength(30)] public string Telephone2 { get; set; } [MaxLength(20)] public string Mobile { get; set; } [MaxLength(50)] public string Email { get; set; } [MaxLength(200)] public string GPSCoordinates { get; set; } [MaxLength(100)] public string Coordinator { get; set; } public DateTime LastSync { get; set; } public DateTime ServerUpdate { get; set; } public DateTime MobileUpdate { get; set; } }
Название сборщика = "Выбрать код продавца* Мой код ниже показывает, как я получаю данные из своей базы данных и добавляю их в свой сборщик
var db = DependencyService.Get<ISQLiteDB>(); var conn = db.GetConnection(); var getCode = conn.QueryAsync<RetailerGroupTable>("SELECT * FROM tblRetailerGroup WHERE ContactID=?", item.ContactID); var resultCount = getCode.Result.Count; if (resultCount > 0) { var result = getCode.Result; codePicker.ItemsSource = result; codePicker.IsEnabled = true; } else { lstName.IsVisible = false; codePicker.IsEnabled = false; }
Таблица группы розничных продавцов:
[Table("tblRetailerGroup")] public class RetailerGroupTable { [PrimaryKey, MaxLength(100)] public string RetailerCode { get; set; } public int ContactID { get; set; } [MaxLength(300)] public string PresStreet { get; set; } [MaxLength(90)] public string PresBarangay { get; set; } [MaxLength(90)] public string PresDistrict { get; set; } [MaxLength(90)] public string PresTown { get; set; } [MaxLength(90)] public string PresProvince { get; set; } [MaxLength(90)] public string PresCountry { get; set; } [MaxLength(30)] public string Telephone1 { get; set; } [MaxLength(30)] public string Telephone2 { get; set; } [MaxLength(20)] public string Mobile { get; set; } [MaxLength(50)] public string Email { get; set; } [MaxLength(200)] public string GPSCoordinates { get; set; } [MaxLength(100)] public string Coordinator { get; set; } public DateTime LastSync { get; set; } public DateTime ServerUpdate { get; set; } public DateTime MobileUpdate { get; set; } }
добавить свойство только для чтения в ваш класс RetailerGroupTable
public string DisplayText { get { return $"{RetailerCode} - {PresStreet}"; } }
и затем привязать к нему
<Picker ItemDisplayBinding="{Binding DisplayText}" ... />