#c# #winforms #wcf
#c# #winforms #wcf
Вопрос:
У меня странная проблема, из-за которой SelectedValue выпадающего списка не устанавливается и всегда остается на первом элементе по умолчанию. Я использую Windows Forms с .Net 4.6.1
Источник данных combobox поступает из службы WCF (которая возвращает список), и мне интересно, может ли это быть проблемой. Вот что я сделал до сих пор, и я отметил ту часть, которая не работает.
Странно то, что я вижу, что значение задано правильно (с помощью отладчика), но поле со списком по-прежнему не меняется.
private void ReporteTecnicoVerDetalle_Load(object sender, EventArgs e) {
try {
cmbTecnico.DataSource = util_service.ListarPersonas(5);
cmbTecnico.DisplayMember = "Nombre_persona";
cmbTecnico.ValueMember = "Id_persona";
} catch (Exception ex) {
MessageBox.Show("Error al poblar las personas: " ex.Message);
}
try {
cmbProyecto.DataSource = util_service.ListarProyectos();
cmbProyecto.DisplayMember = "Nom_proyecto";
cmbProyecto.ValueMember = "Id_proyecto";
} catch (Exception ex) {
MessageBox.Show("Error al poblar los proyectos: " ex.Message);
}
ReporteTecnicoBE rtecBE = tecSvc.MostrarReporte(idReporte);
// The options get populated properly above, but when I set the Selected value it does not work
cmbProyecto.SelectedValue = rtecBE.Id_proyecto; // "Id_proyecto" is an int
cmbTecnico.SelectedValue = rtecBE.Id_tecnico; // "Id_tecnico" as is this
// All other fields work fine
txtDetalle.Text = rtecBE.Detalles_reporte;
txtId.Text = rtecBE.Id_proyecto.ToString();
dtpFecha.Text = rtecBE.Fecha_reporte.ToString();
}
Спасибо!
Комментарии:
1. Является
ReporteTecnicoVerDetalle_Load
событием загрузки… Кстати, всегда устанавливайтеDisplayMember
, затемValueMember
, затемDataSource
. Является ли это частью процедуры инициализации, или эти элементы управления были ранее инициализированы другим источником данных? Есть ли у выпадающих списков дескриптор в это время? (например, они не будут отображаться, если оба отображаются на дополнительной вкладке TabControl или по другим причинам — в настоящее время не отображаются).2. Это событие загрузки формы, но изменение порядка вещей, похоже, устранило проблему, спасибо!