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.
que es un "repeater" ? un bucle?
y si nos dices que lenguaje usas.. pues igual te podemos decir algo :P
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
<asp:Repeater ID="rpLinea" runat="server">
<HeaderTemplate>
<table width="100%" id="tblProductos">
<tr>
<td colspan="14" class="tablaTitulo" align="center">RESULTADO DE LA BÚSQUEDA - PRODUCTOS
</td>
</tr>
<tr bgcolor="#F5E600" align="center">
<td align="left" with="5%" class="text"></td>
<td id="Td1" class="text" runat="server" visible='<%#verPptoValorLinea()%>'>Linea</td>
<td class="text">Código</td>
<td class="text">Descripción</td>
<td class="text">Medida</td>
<td class="text">Valor</td>
<td class="text">IVA</td>
<td class="text">Valor + Iva</td>
<td id="Td2" class="text" runat="server" visible='<%#verPromedioProducto()%>'>Prom.</td>
<td id="Td3" class="text" runat="server" visible='<%#verPptoCantidad()%>'>Tope</td>
<td id="Td4" class="text" runat="server" visible='<%#verExistencia()%>'>Existencia</td>
<td class="text">Cantidad</td>
<td class="text">Total Producto sin Ivas($)</td>
<td class="text">Centros de costo</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<!--<tr id='tlinea' class="text" runat="server">
<td colspan="7"><%#DataBinder.Eval(Container.DataItem, "varNombreLinea")%></td>
</tr>-->
<asp:Repeater ID="rpProductos" runat="server" DataSource='<%# GetChildRelation(Container.DataItem,"productoLinea")%>' OnItemDataBound="rpProductos_ItemDataBound">
<HeaderTemplate>
<%# nombreLinea%>
</HeaderTemplate>
<ItemTemplate>
<tr runat="server" id="a" bgcolor="White">
<%-- <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>
--%>
<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>
<td runat="server" id="idlinea" visible='<%#verPptoValorLinea()%>'><%# DataBinder.Eval(Container.DataItem, "lngidlinea") %></td>
<td runat="server" id="IdCod"><%# DataBinder.Eval(Container.DataItem, "varIdProductoCliente") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "varDescripcion") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "varNombreUnidad")%></td>
<td runat="server" id="Precio" ><%# DataBinder.Eval(Container.DataItem, "fltPrecio", "{0:C0}")%></td>
<td runat="server" id="iva"><%# DataBinder.Eval(Container.DataItem, "fltPorcentajeIva","{0:P0}") %></td>
<td runat="server" id="ValorIva"><%# DataBinder.Eval(Container.DataItem, "Iva","{0:C0}") %></td>
<td id="Td1" runat="server" visible='<%#verPromedioProducto()%>'><%# DataBinder.Eval(Container.DataItem, "lngPromProducto")%></td>
<td id="Td3" runat="server" visible='<%#verPptoCantidad()%>'><%# DataBinder.Eval(Container.DataItem, "lngSaldoCantidad") %></td>
<td id="Td5" runat="server" visible='<%#verExistencia()%>'><%# DataBinder.Eval(Container.DataItem, "existencia") %></td>
<td><input type="text" MaxLength="6" id="txtDigitado" size="4" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtDigitado" ErrorMessage="*Solo Números"
ForeColor="Red"
ValidationExpression="^[0-9]*"></asp:RegularExpressionValidator>
</td>
<td><input type="text" id="txtTotalItem" size="10" runat="server" readonly="readonly" style="TEXT-ALIGN: right" /> </td>
<td>
<asp:dropdownlist ID="ddlHorario" runat="server" ></asp:dropdownlist>
</td>
</tr>
</ItemTemplate>
<alternatingitemtemplate>
<tr runat="server" id="a" bgcolor="#f7f7f7" >
<%--<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>--%>
<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>
<td runat="server" id="idlinea" visible='<%#verPptoValorLinea()%>'><%# DataBinder.Eval(Container.DataItem, "lngidlinea") %></td>
<td runat="server" id="IdCod"><%# DataBinder.Eval(Container.DataItem, "varIdProductoCliente") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "varDescripcion") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "varNombreUnidad")%></td>
<td runat="server" id="Precio"><%# DataBinder.Eval(Container.DataItem, "fltPrecio", "{0:C0}")%></td>
<td runat="server" id="iva"><%# DataBinder.Eval(Container.DataItem, "fltPorcentajeIva","{0:P0}") %></td>
<td runat="server" id="ValorIva"><%# DataBinder.Eval(Container.DataItem, "Iva","{0:C0}") %></td>
<td id="Td1" runat="server" visible='<%#verPromedioProducto()%>'><%# DataBinder.Eval(Container.DataItem, "lngPromProducto")%></td>
<td id="Td2" runat="server" visible='<%#verPptoCantidad()%>'><%# DataBinder.Eval(Container.DataItem, "lngSaldoCantidad") %></td>
<td id="Td5" runat="server" visible='<%#verExistencia()%>'><%# DataBinder.Eval(Container.DataItem, "existencia") %></td>
<td><input type="text" MaxLength="6" id="txtDigitado" size="4" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtDigitado" ErrorMessage="*Solo Números"
ForeColor="Red"
ValidationExpression="^[0-9]*"></asp:RegularExpressionValidator>
</td>
<td><input type="text" id="txtTotalItem" runat="server" size="10" readonly="readonly" style="TEXT-ALIGN: right" /> </td>
<td>
<asp:dropdownlist ID="ddlHorario" runat="server" ></asp:dropdownlist>
</td>
</tr>
</alternatingitemtemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
<% = Imprimirtotal%>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Con este lleno la información.
protected void buscarProductos(bool verDetalle)
{
tblActa_pago.Visible = false;
Tablaencabezadopago.Visible = false;
Tbltenencuenta.Visible = false;
string strProductos = "";
if (verDetalle)
{
//verifica si ya han adicionado productos.
if (ViewState["htLista"] != null)
{
HtProductosAdicionados = (Hashtable)ViewState["htLista"];
}
//recorro el hash para traer los productos que ingresaron
IDictionaryEnumerator myEnumerator = HtProductosAdicionados.GetEnumerator();
while (myEnumerator.MoveNext())
{
strProductos = strProductos + "," + myEnumerator.Key.ToString();
}
if (strProductos != "")
strProductos = strProductos.Remove(0, 1);
}
DataSet dsProductos;
DataSet dsLineas;
DataTable tmp;
string[] idCcostos;
if (hddCcostos.Value == "")
idCcostos = mpage.ccostos.SelectedItem.Value.Split('|');
else
idCcostos = new string[] { "", hddCcostos.Value };
Producto Producto_VO = new Producto();
Producto_VO.idCliente = mpage.Cliente;
//Noviembre 3 de 2010 la línea siguiente no existia
if (!verDetalle)
{
if (rdbLinea.Checked)
{
if (cboLinea.SelectedValue!= "%")
Producto_VO.idLinea = int.Parse(cboLinea.SelectedValue);
}
else
{
Producto_VO.descripcion = (cboProd.SelectedItem.Value == "Nom" ? "%" + txtProducto.Value.Trim() + "%" : null);
Producto_VO.idProductoCliente = (cboProd.SelectedItem.Value == "Cod" ? txtProducto.Value.Trim() : null);
}
}
if (mpage.pptoCantidad)
{
Producto_VO.Tope = "1";
Producto_VO.IdPeriodo = int.Parse(hddPeriodo.Value);
}
else
{
Producto_VO.Tope = "0";
}
Producto_VO.idCcostos = int.Parse(idCcostos[1].ToString());
if (strProductos != "")
Producto_VO.idProductos = strProductos;
IProducto objProducto = Factory.CreateProducto();
dsProductos = objProducto.listarProductos(Producto_VO);
Linea Linea_VO = new Linea();
Linea_VO.idCliente = mpage.Cliente;
ILinea objLinea = Factory.CreateLinea();
dsLineas = objLinea.consultarLinea(Linea_VO, 1, 9999);
tmp = dsLineas.Tables[0].Copy();
tmp.TableName = "Lineas";
dsProductos.Tables.Add(tmp);
dsProductos.Relations.Add("productoLinea", dsProductos.Tables["Lineas"].Columns["lngIdLinea"], dsProductos.Tables[0].Columns["lngIdLinea"]);
rpLinea.DataSource = dsProductos.Tables["Lineas"];
rpLinea.DataBind();
if (dsProductos.Tables[0].Rows.Count == 0)
{
btnAdicionar.Visible = false;
tblLista.Visible = false;
lblMensaje.Text = "No existen registros bajo el criterio de búsqueda.";
lblMensaje.Visible = true;
tblMensajes.Visible = true;
}
else
{
tblLista.Visible = true;
}
}