Pregunta

Estoy usando la suite de control Telerik ASP.NET (creo que el tercer trimestre 2008, creo, todavía no puedo actualizar). Tengo un RadcomboBox en un control RadGrid (en una plantilla de edición de GridTemplateColumn). Si funciona bien, pero tengo alguna validación del lado del cliente en otros controles en la cuadrícula (que parecen estar funcionando sin errores). Por alguna razón después de que ocurre la validación del lado del cliente, el cuadro combinado deja de funcionar. Sin errores JS visibles, la cosa solo muere.

¿Alguien ha visto esto y tiene arreglos? Google me ha fallado.

Gracias por tu ayuda.

¿Fue útil?

Solución

Ok, lo resolví. Muy cludgy trabajo alrededor.

Primero, tengo un panel fuera del MultiviewPanel que contiene mi cuadrícula con otro Radcombobox similar que también murió en la validación. Empecé a pensar, ¿qué pasaría si hiciera algún tipo de publicación? ¿Eso solucionaría las cosas por alguna razón? Entonces, en mi cuadrícula, agregué un validador personalizado que valida el RadcomboBox en mi cuadrícula. Llama a un método de validación de JavaScript como ...

function valCOMBO(o, a) {
        a.IsValid = true;
        setTimeout(Res, 500);
      }
      function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");}

Nota, dado que no es necesario que este campo sea completado por el usuario, siempre devuelvo que es válido es verdadero. Aquí es donde ocurre la magia cuasi. Hago una publicación en el otro RadcomboBoBox en el panel superior fuera de la cuadrícula en JavaScript. La parte superior fuera de la red RadcomboBox tiene su AutoPostback establecido en True, no sé si eso es necesario si intenta este ejemplo.

Funcionó. De repente, tanto los radcomboboxes, tanto el que está en la cuadrícula como al que comenzó a funcionar nuevamente. Pero noté que el valor se perdería en el radcombobox de la cuadrícula a veces, por lo que para las risas agregué la ligera pausa antes de hacer la publicación de 500 ms. Eso hizo el truco. En realidad, funcionaría con una pausa muy pequeña, pero lo aumenté a 500 ms para un margen de saftey en caso de que un usuario final estuviera en una conexión lenta y eso podría importar.

Cluggy, Cluggy, Cluggy. Ojalá pudiera haber usado jQuery, y usé una alternativa a estos malvados Telerik Radcomboboxes, pero tal es la vida (escucho que una versión limitada de jQuery está enterrada en Telerik, experimentará con eso en lanzamientos posteriores). Lo que apesta es que apuesto a que el último lanzamiento de Telerik soluciona este problema (mejor), por lo que todo este empuje terminará siendo innecesario cuando actualizamos (aún no se puede entrar en conflicto con algunos de los controles personalizados que construimos heredando de Telerik. Jan Q1 2009+ Rompe esos controles :()

Espero que esto pueda ayudar a alguien.

Otros consejos

Otra opción. Me encontré con un escenario en el que tuve que usar muchos radcomboboxes, por lo que en lugar de preocuparme por validar su contenido, acabo de agregar campos de texto con un botón al lado de cada uno que abriría una viento de radiante con un radcombobox para que los valores pudieran elegirse dinámicamente. En seleccionar JavaScript pasó el SelectedValue nuevamente al elemento de destino en la página del apertura de la ventana. Me encontré con algunos dolores de cabeza que tuve que trabajar, aunque tuve un montón de parámetros de contexto establecidos en JavaScript antes de llamar al servicio web en cada llave (sugerir: con IE establecer la altura de RadcomboBoBox al menos para las versiones de Telerik 2008 ... si No comenzarás a tener congelaciones).

Nuevamente, espero que esta idea sea útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top