Bueno dias
Como puedo seleccionar un items de un DropDownList que se carga dentro de una grid
Gracias
| |||
Andres95 Esto no me funciono pues al momento de seleccionar un item no me ingresa al metodo de CambioEnComBoBox pues de esta forma no me funciono como podria de otra forma lograr esto? Gracias |
| |||
gracias andres95 mira este pante lo pongo en el grid y lo invoco en el metodo pero nunca lo reconoce no ingresa alli <ItemTemplate> <asp:DropDownList id="cboestadoCarne" runat="server" OnSelectedIndexChanged="CambioEnComBoBox" AutoPostBack="True"></asp:DropDownList> </ItemTemplate> public void CambioEnComBoBox(object sender, System.EventArgs e) { DropDownList list = (DropDownList)sender; TableCell cell = list.Parent as TableCell; DataGridItem item = cell.Parent as DataGridItem; /************ Valor seleccionado *******************/ string content = item.Cells[5].Text; /************ Valor seleccionado *******************/ } |
| |||
este es mi load no se por que no coge el html
Código:
if(!IsPostBack) { string dir = Server.MapPath("~/Conexion.xml"); clsConexion.NombreNodo="cnxAppl"; cnn=clsConexion.CrearConexion(dir); ViewState["RegistroGrid"]=0; WucEmpresa.CadenaDeConexion=cnn; panelinforme.Visible=false; #region Carga de variables del Control Busquedas panelControl.Visible=false; WucEmpresa.Opcion="EmpresaContratista"; WucEmpresa.URLImagenBotonBuscar="~/Imagenes/buscar.gif"; WucEmpresa.Encabezado=""; WucEmpresa.URLImagenBuscar="~/Imagenes/CuadroEnBlanco.jpg"; #endregion //LlenarCombo(); } |
| ||||
ese es todo tu load? bueno pues lamentablemente no me es posible localizar el error... deberia funcionar como sigue.. cuando cambies la selecion del combo... hacer un post back y ejecuar el load...despues deberia ejecutar la funcion para manejar el evento. pero sin ver el codigo completo no logro localizar el error... yo tengo una aplicacion con un grid en el que utilizo un combo... y de forma similar actualizo dicho grid ... y me funciona... por lo que la estructura que he posteado es la que utilizo .... |
| |||
mira este es el momento de invocar como la utilizo foreach(DataGridItem d in dgCarne.Items) { DropDownList ddlcarne =(DropDownList)d.Cells[0].FindControl("cboestadoCarne"); txtTexto.Tex = ddlcarne.SelectedItem.Text; |
| |||
en estos momentos tengo estas dos formas string seleccion = null; foreach(DataGridItem d in dgCarne.Items) { DropDownList ddlcarne =(DropDownList)d.Cells[5].FindControl("cboestadoCarne"); if(ddlcarne.SelectedItem != null) { //seleccion= ddlcarne.SelectedValue; seleccion= ddlcarne.SelectedItem.Text; //d.Cells[0].FindControl("cboestadoCarne"); if (ddlcarne.SelectedItem.Text!="") { TableCell cell = ddlcarne.Parent as TableCell; DataGridItem item = cell.Parent as DataGridItem; string content = item.Cells[5].Text; |
| ||||
// Se obtiene el elemento dropdowlist ( misma operacion que con findcontrol) DropDownList list = (DropDownList)sender; //se obtiene la celda donde esta incrustado el dropdown (es la template item) TableCell cell = list.Parent as TableCell; // Se obtiene todo el renglon... es decir todo el registro donde esta la celda DataGridItem item = cell.Parent as DataGridItem; //Con esto se obtiene el valor de la primera celda del registro string content = item.Cells[0].Text; Aqui me equivoque yo... lo que sucede es que en mi aplicacion considero el primer valor para actualizarlo con respecto al item seleccionado cuyo valor obtengo con list.SelectedValue ese es el valor que tiene el item... ya que a los dropdown tiene una pareja de (valor,texto) |
| |||
para mi deberia ser asi: foreach(DataGridItem d in dgCarne.Items) { DropDownList ddlcarne =(DropDownList)d.Cells[5].FindControl("cboestadoCarne"); variable = ddlcarne.SelectedItem.Text; } pero esto no me funciona asi declare mas objetos |
| |||
string seleccion = null; foreach(DataGridItem d in dgCarne.Items) { DropDownList ddlcarne =(DropDownList)d.Cells[5].FindControl("cboestadoCarne"); if(ddlcarne.SelectedItem != null) { //seleccion= ddlcarne.SelectedValue; seleccion= ddlcarne.SelectedItem.Text; en este punto me trae el primer item no el que seleccione y aqui if (ddlcarne.SelectedItem.Text!="") { TableCell cell = ddlcarne.Parent as TableCell; DataGridItem item = cell.Parent as DataGridItem; string content = item.Cells[5].Text; me lleva la variable vacia |
| ||||
te da la variable vacia, porque la celda no tiene un valor texto, recuerda que es un Template item.... entonces.. una vez teniendo el dropdown control toma el item seleccionado... lo que me llama la atencion es que recorres todo el grid.... si deseas postear o mandar el codigo completo de (html y codigo) con gusto lo revizo.. y cuando tenga algo te lo envio y lo posteo (para respetar las reglas del foro d:D ) ya que a este paso no acabaremos rapido. [email protected] ------------------------------------------------------ Ok, ya realice un ejemplo muy sencillo con la Bd Pubs de SQL si quieres te lo envio. Última edición por Andres95; 30/11/2005 a las 10:13 |
| |||
Andres95 Muchas Gracias por la ayuda por fin pude solucionar este problema ensaye todo y me funciono como decias te agradesco toda la colaboracion prestada por si algu guardare tu correo para alguna colaboracion si quieres me puedes enviar el ejemplo al correo [email protected] pues creo que asi reforare mas mis conocimientos respecto al manejo de controles dentro del Datagrid Gracias lrestre01 |