post icon

Cargar los ASPxComboBox en el modo edición [DevExpress]

Ayer veíamos como cargar los combos de la barra de filtros en las grilas de DevExpress por código. Al hacer eso lo más seguro que necesitemos cargarlos también cuando están en modo de edición. Tarea que es ligeramente más compleja que la anterior pero nada de otro mundo tampoco.

El el evento HtmlRowCreated es donde se crean los objetos HTML finalmente antes de volver al cliente, y es allí donde podemos aprovechar para poblarlos, siempre que este en modo de edición la grilla (normalmente a pedido del usuario).

protected void grilla_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
{
	// preguntar si la fila esta en modo de edicion o inserccion
	if (e.RowType == GridViewRowType.EditForm | e.RowType == GridViewRowType.InlineEdit)
	{
		// instanciamos un objeto a partir de la grilla
		ASPxGridView grid = sender as ASPxGridView;
		// preguntamos si la grilla no esta nula
		if (grid != null)
		{
			ASPxComboBox cboEmisoraTarjeta = grid.FindEditRowCellTemplateControl(
				grid.Columns["IdEmisoraTarjeta"] as GridViewDataColumn, "cboEmisoraTarjeta") as ASPxComboBox;
			// validar que no sea nulo el combo
			if (cboEmisoraTarjeta != null)
			{
				cboEmisoraTarjeta.IncrementalFilteringMode = IncrementalFilteringMode.Contains;
				cboEmisoraTarjeta.Visible = true;
				cboEmisoraTarjeta.DataSource = new EmisorTarjeta().Listar(); // algun metodo  que retorne una fuente al combo
				cboEmisoraTarjeta.DataBindItems();
			}
		}
	}
}

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder