У меня проблема с настройкой SelectedIndex и SelectedValue для Combobox.Я хочу установить для комбинированных списков индекс записи, выбранный из списка.
private void ReadEditedOperation()
{
using (var context = new DataClasses2DataContext())
{
var operation = context.operacje.FirstOrDefault(x => x.id_operacji == EditedId);
if (operation == null)
throw new ArgumentException("No operation with given id in the database");
OperationDto = new OperationDto()
{
Id = operation.id_operacji,
Data = operation.data,
Price = operation.kwota,
CategoryId = operation.id_kategoria,
UserId = operation.id_uzytkownika,
PaymentFormId = operation.id_forma_platnosci,
Description = operation.opis,
};
}
SetEditedOperationData();
}
private void SetEditedOperationData()
{
comboBoxUsers.SelectedIndex = OperationDto.UserId;
comboBoxCategory.SelectedItem = OperationDto.CategoryId;
//comboBoxSubcategory.SelectedValue = OperationDto.PodcategoryId;
dateTimePickerDate.Value = OperationDto.Data;
//radiobuttonexpense.checked = ;
comboBoxOperationForm.SelectedItem = OperationDto.PaymentFormId;
textBoxPrice.Text = OperationDto.Price.ToString("0.00");
richTextBoxDescription.Text = OperationDto.Description;
}
ComboBoxUsers.SelectedIndex вроде работает.Когда я выбираю пользователя с идентификатором № 1, в выпадающем списке отображается пользователь с идентификатором 2. Когда я выбираю пользователя с идентификатором 2, он отображает идентификатор пользователя № 3. При выборе пользователя 3 происходит сбой.ComboBoxUsers.SelectedValue не работает вообще.Я понятия не имею, как это исправить.В остальном, только TextBoxes работает.
OperationDTO выглядит так:
public class OperationDto
{
public int Id { get; set; }
public DateTime Data { get; set; }
public decimal Price { get; set; }
public int CategoryId { get; set; }
public string Category { get; set; }
public int PodcategoryId { get; set; }
public string Podcategory { get; set; }
public int UserId { get; set; }
public string Type { get; set; }
public int? PaymentFormId { get; set; }
public string PaymentForm { get; set; }
public string Description { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string FullName => Name + " " + Surname;
}