Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: jabedoya en 20 Octubre 2014, 18:17 pm



Título: Colocar un Dropdownlist en un Repeater
Publicado por: jabedoya en 20 Octubre 2014, 18:17 pm
Buenos dias

tengo una dificultad al tratar de llenar un Dropdownlist que tengo dentro de un repeater, si depronto alguno conoce agradezco me puedan colaborar.



Título: Re: Colocar un Dropdownlist en un Repeater
Publicado por: peib0l en 21 Octubre 2014, 10:20 am
que es un "repeater" ? un bucle?

y si nos dices que lenguaje usas.. pues igual te podemos decir algo  :P


Título: Re: Colocar un Dropdownlist en un Repeater
Publicado por: jabedoya en 21 Octubre 2014, 15:07 pm
Buenos dias

adjunto un pantallazo de donde quiero poner el Dropdownlist (en la columna que se llama centro de costos) por el momento no estoy trayendo nada, esta columna debe ser llenada con la informacion generada de una consulta sql, el Dropdownlist esta dentro de un repeater que se llena con una informacion de la una lista de precios, estoy desarrollando en asp.net



(http://i44.photobucket.com/albums/f47/jlaverde2/Imagen_pantalla_zps7b9815e3.jpg)



este es el codigo donde creo el asp repeater
Código
  1. <asp:Repeater ID="rpLinea" runat="server">
  2.              <HeaderTemplate>
  3.                 <table width="100%" id="tblProductos">
  4.                   <tr>    
  5.              <td colspan="14" class="tablaTitulo" align="center">RESULTADO DE LA BÚSQUEDA - PRODUCTOS
  6.                      </td>
  7.               </tr>              
  8.                   <tr bgcolor="#F5E600" align="center">                  
  9.                      <td align="left" with="5%" class="text"></td>
  10.                      <td id="Td1" class="text"  runat="server" visible='<%#verPptoValorLinea()%>'>Linea</td>
  11.                      <td class="text">Código</td>
  12.                      <td class="text">Descripción</td>
  13.                      <td class="text">Medida</td>
  14.                      <td class="text">Valor</td>
  15.                      <td class="text">IVA</td>
  16.                      <td class="text">Valor + Iva</td>
  17.                      <td id="Td2" class="text" runat="server" visible='<%#verPromedioProducto()%>'>Prom.</td>                      
  18.                      <td id="Td3" class="text" runat="server" visible='<%#verPptoCantidad()%>'>Tope</td>  
  19.                       <td id="Td4" class="text" runat="server" visible='<%#verExistencia()%>'>Existencia</td>    
  20.                      <td class="text">Cantidad</td>
  21.                      <td class="text">Total Producto sin Ivas($)</td>  
  22.                      <td class="text">Centros de costo</td>                    
  23.                   </tr>
  24.              </HeaderTemplate>
  25.  
  26.                <ItemTemplate>
  27.                    <!--<tr id='tlinea' class="text" runat="server">
  28.                        <td colspan="7"><%#DataBinder.Eval(Container.DataItem, "varNombreLinea")%></td>
  29.                    </tr>-->
  30.                    <asp:Repeater ID="rpProductos" runat="server" DataSource='<%# GetChildRelation(Container.DataItem,"productoLinea")%>' OnItemDataBound="rpProductos_ItemDataBound">
  31.                     <HeaderTemplate>
  32.                            <%# nombreLinea%>
  33.                        </HeaderTemplate>
  34.                        <ItemTemplate>
  35.                            <tr runat="server" id="a" bgcolor="White">
  36. <%--                             <td with="5%"><img onMouseOut="cerrarventa();"   onMouseOver="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>'); " alt="Clic para ver imagen" border=0 src="../imagenes/camara.gif" onClick="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>');" /> </td>
  37. --%>
  38.                             <td with="5%"><img onMouseOut="return true"  onMouseOver="status='Ver imagen'; return true" alt="Clic para ver imagen" border=0 src="../imagenes/camara.gif" onClick="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>');" /> </td>
  39.                            <td runat="server" id="idlinea"   visible='<%#verPptoValorLinea()%>'><%# DataBinder.Eval(Container.DataItem, "lngidlinea") %></td>
  40.                                <td runat="server" id="IdCod"><%# DataBinder.Eval(Container.DataItem, "varIdProductoCliente") %></td>
  41.                                <td><%# DataBinder.Eval(Container.DataItem, "varDescripcion") %></td>
  42.                                <td><%# DataBinder.Eval(Container.DataItem, "varNombreUnidad")%></td>
  43.                                <td runat="server" id="Precio" ><%# DataBinder.Eval(Container.DataItem, "fltPrecio", "{0:C0}")%></td>
  44.                                <td runat="server" id="iva"><%# DataBinder.Eval(Container.DataItem, "fltPorcentajeIva","{0:P0}") %></td>
  45.                                <td runat="server" id="ValorIva"><%# DataBinder.Eval(Container.DataItem, "Iva","{0:C0}") %></td>
  46.                                 <td id="Td1" runat="server" visible='<%#verPromedioProducto()%>'><%# DataBinder.Eval(Container.DataItem, "lngPromProducto")%></td>
  47.                                 <td id="Td3" runat="server" visible='<%#verPptoCantidad()%>'><%# DataBinder.Eval(Container.DataItem, "lngSaldoCantidad") %></td>
  48.                                 <td id="Td5" runat="server" visible='<%#verExistencia()%>'><%# DataBinder.Eval(Container.DataItem, "existencia") %></td>
  49.  
  50.                                <td><input type="text"  MaxLength="6" id="txtDigitado" size="4" runat="server"  />
  51.                                <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
  52.                            ControlToValidate="txtDigitado" ErrorMessage="*Solo Números"
  53.                            ForeColor="Red"
  54.                            ValidationExpression="^[0-9]*"></asp:RegularExpressionValidator>
  55.  
  56.  
  57.  
  58.                                </td>
  59.                                <td><input type="text"  id="txtTotalItem" size="10" runat="server" readonly="readonly" style="TEXT-ALIGN: right"  /> </td>
  60.                                                      <td>
  61.                           <asp:dropdownlist ID="ddlHorario" runat="server" ></asp:dropdownlist>
  62.                           </td>
  63.  
  64.  
  65.                            </tr>                            
  66.                        </ItemTemplate>
  67.                         <alternatingitemtemplate>
  68.                            <tr runat="server" id="a" bgcolor="#f7f7f7" >
  69.                             <%--<td with="5%"><img onMouseOut="cerrarventa();"    onMouseOver="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>'); " alt="Clic para ver imagen" border=0 src="../imagenes/camara.gif" onClick="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>');" /></td>--%>
  70.  
  71.                                <td with="5%"><img onMouseOut="return true"   onMouseOver="status='Ver imagen'; return true" alt="Clic para ver imagen" border=0 src="../imagenes/camara.gif" onClick="verImagen('<%# DataBinder.Eval(Container.DataItem, "lngIdProducto") %>');" /></td>
  72.                              <td runat="server" id="idlinea" visible='<%#verPptoValorLinea()%>'><%# DataBinder.Eval(Container.DataItem, "lngidlinea") %></td>
  73.                                <td runat="server" id="IdCod"><%# DataBinder.Eval(Container.DataItem, "varIdProductoCliente") %></td>
  74.                                <td><%# DataBinder.Eval(Container.DataItem, "varDescripcion") %></td>
  75.                                <td><%# DataBinder.Eval(Container.DataItem, "varNombreUnidad")%></td>
  76.                                <td runat="server" id="Precio"><%# DataBinder.Eval(Container.DataItem, "fltPrecio", "{0:C0}")%></td>
  77.                                <td runat="server" id="iva"><%# DataBinder.Eval(Container.DataItem, "fltPorcentajeIva","{0:P0}") %></td>
  78.                                 <td runat="server" id="ValorIva"><%# DataBinder.Eval(Container.DataItem, "Iva","{0:C0}") %></td>
  79.                                 <td id="Td1" runat="server" visible='<%#verPromedioProducto()%>'><%# DataBinder.Eval(Container.DataItem, "lngPromProducto")%></td>
  80.                                 <td id="Td2" runat="server" visible='<%#verPptoCantidad()%>'><%# DataBinder.Eval(Container.DataItem, "lngSaldoCantidad") %></td>
  81.                                 <td id="Td5" runat="server" visible='<%#verExistencia()%>'><%# DataBinder.Eval(Container.DataItem, "existencia") %></td>
  82.  
  83.                                <td><input type="text" MaxLength="6" id="txtDigitado" size="4" runat="server"  />
  84.                             <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
  85.                            ControlToValidate="txtDigitado" ErrorMessage="*Solo Números"
  86.                            ForeColor="Red"
  87.                            ValidationExpression="^[0-9]*"></asp:RegularExpressionValidator>
  88.                                </td>
  89.                                <td><input type="text" id="txtTotalItem"  runat="server" size="10" readonly="readonly" style="TEXT-ALIGN: right"  /> </td>
  90.                           <td>
  91.                           <asp:dropdownlist ID="ddlHorario" runat="server" ></asp:dropdownlist>
  92.                           </td>
  93.  
  94.  
  95.                            </tr>
  96.                        </alternatingitemtemplate>
  97.                        <FooterTemplate>
  98.  
  99.                        </FooterTemplate>
  100.                    </asp:Repeater>
  101.                     <% = Imprimirtotal%>
  102.                </ItemTemplate>
  103.                <FooterTemplate>              
  104.  
  105.  
  106.  
  107.                   </table>
  108.                </FooterTemplate>
  109.            </asp:Repeater>


Con este lleno la información.

Código
  1.  protected void buscarProductos(bool verDetalle)
  2.  {
  3.    tblActa_pago.Visible = false;
  4.    Tablaencabezadopago.Visible = false;
  5.    Tbltenencuenta.Visible = false;
  6.    string strProductos = "";
  7.    if (verDetalle)
  8.    {
  9.      //verifica si ya han adicionado productos.
  10.      if (ViewState["htLista"] != null)
  11.      {
  12.        HtProductosAdicionados = (Hashtable)ViewState["htLista"];
  13.      }
  14.      //recorro el hash para traer los productos que ingresaron
  15.      IDictionaryEnumerator myEnumerator = HtProductosAdicionados.GetEnumerator();
  16.  
  17.      while (myEnumerator.MoveNext())
  18.      {
  19.        strProductos = strProductos + "," + myEnumerator.Key.ToString();
  20.      }
  21.      if (strProductos != "")
  22.        strProductos = strProductos.Remove(0, 1);
  23.    }
  24.  
  25.    DataSet dsProductos;
  26.    DataSet dsLineas;
  27.    DataTable tmp;
  28.    string[] idCcostos;
  29.    if (hddCcostos.Value == "")
  30.      idCcostos = mpage.ccostos.SelectedItem.Value.Split('|');
  31.    else
  32.      idCcostos = new string[] { "", hddCcostos.Value };
  33.    Producto Producto_VO = new Producto();
  34.    Producto_VO.idCliente = mpage.Cliente;
  35.  
  36.    //Noviembre 3 de 2010 la línea siguiente no existia
  37.  
  38.    if (!verDetalle)
  39.    {
  40.      if (rdbLinea.Checked)
  41.      {
  42.        if (cboLinea.SelectedValue!= "%")
  43.          Producto_VO.idLinea = int.Parse(cboLinea.SelectedValue);
  44.      }
  45.      else
  46.      {
  47.        Producto_VO.descripcion = (cboProd.SelectedItem.Value == "Nom" ? "%" + txtProducto.Value.Trim() + "%" : null);
  48.        Producto_VO.idProductoCliente = (cboProd.SelectedItem.Value == "Cod" ? txtProducto.Value.Trim() : null);
  49.      }
  50.    }
  51.  
  52.    if (mpage.pptoCantidad)
  53.    {
  54.      Producto_VO.Tope = "1";
  55.      Producto_VO.IdPeriodo = int.Parse(hddPeriodo.Value);
  56.    }
  57.    else
  58.    {
  59.      Producto_VO.Tope = "0";
  60.    }
  61.  
  62.    Producto_VO.idCcostos = int.Parse(idCcostos[1].ToString());
  63.  
  64.    if (strProductos != "")
  65.      Producto_VO.idProductos = strProductos;
  66.  
  67.    IProducto objProducto = Factory.CreateProducto();
  68.    dsProductos = objProducto.listarProductos(Producto_VO);
  69.    Linea Linea_VO = new Linea();
  70.    Linea_VO.idCliente = mpage.Cliente;
  71.    ILinea objLinea = Factory.CreateLinea();
  72.    dsLineas = objLinea.consultarLinea(Linea_VO, 1, 9999);
  73.    tmp = dsLineas.Tables[0].Copy();
  74.    tmp.TableName = "Lineas";
  75.    dsProductos.Tables.Add(tmp);
  76.    dsProductos.Relations.Add("productoLinea", dsProductos.Tables["Lineas"].Columns["lngIdLinea"], dsProductos.Tables[0].Columns["lngIdLinea"]);
  77.    rpLinea.DataSource = dsProductos.Tables["Lineas"];
  78.    rpLinea.DataBind();
  79.  
  80.    if (dsProductos.Tables[0].Rows.Count == 0)
  81.    {
  82.      btnAdicionar.Visible = false;
  83.      tblLista.Visible = false;
  84.      lblMensaje.Text = "No existen registros bajo el criterio de búsqueda.";
  85.      lblMensaje.Visible = true;
  86.      tblMensajes.Visible = true;
  87.    }
  88.    else
  89.    {
  90.      tblLista.Visible = true;
  91.    }
  92.  }