Foros del Web » Programando para Internet » ASPX (.net) »

DropDownList Infernal

Estas en el tema de DropDownList Infernal en el foro de ASPX (.net) en Foros del Web. Muy buenas a todos. A ver si me explico bien y podeis ayudarme... <%foreach (TieProducts t in TableTieProducts.GetAll(0, 20)) { if ((t.Units > t.UniMin) && ...
  #1 (permalink)  
Antiguo 24/06/2010, 07:52
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 0
DropDownList Infernal

Muy buenas a todos.
A ver si me explico bien y podeis ayudarme...

<%foreach (TieProducts t in TableTieProducts.GetAll(0, 20))
{
if ((t.Units > t.UniMin) && (t.ProductType == 2))
{
string aaaa = t.Name;
string bbbb = t.Description;
TieProducts tP = new TieProducts();
tP = TableTieProducts.GetById(Convert.ToUInt32(t.Id));

System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("CantidadTexto");
dt.Columns.Add("CantidadDato");
if (tP.UniMax > tP.Units)
tP.UniMax = tP.Units;
for (int i = 0; i < Convert.ToInt32(tP.UniMax); i++)
{
System.Data.DataRow r = dt.NewRow();
r["CantidadTexto"] = (i + 1).ToString();
r["CantidadDato"] = i + 1;
dt.Rows.Add(r);
}
Session["Aux"] = t.Id;
%>
<table>
<tr>
<td>
<asp:RadioButton runat="server" ID="rb1" Text='<%= aaaa%>' />
<br />
<asp:Label runat="server" Text='<%= bbbb%>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label runat="server" Text="¿Cuantos productos quieres?"></asp:Label>
<asp:DropDownList runat="server" DataSourceID="cogerCombo" DataValueField="CantidadDato" DataTextField="CantidadTexto" Enabled="true"></asp:DropDownList>
</td>
</tr>
</table>
<% }
} %>
<br />
<br />

<table width="100%">
<tr align="center" valign="middle">
<td align="right" valign="middle">
<a id="A1" runat="server" href="confirmacion.aspx" onclick="AlmacenarLectores();"><asp:Label ID="Label1" runat="server" Text="Confirmar Pedido >>"></asp:Label></a>
</td>
</tr>
</table>

<asp:ObjectDataSource runat="server" ID="cogerCombo" TypeName="Compra_Default" SelectMethod="rellenarComboBoxMaxMin">
</asp:ObjectDataSource>

El método rellenarComboBoxMaxMin devuelve un DataTable y se encuentra en el fichero CS de este fichero ASPX en la clase de nombre Compra_Default

Me encantaría que me dijerais a bote pronto que creeis que falla en este código y luego os sigo contando, ya que me da varios errores.
  #2 (permalink)  
Antiguo 25/06/2010, 04:00
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: DropDownList Infernal

¿Nadie?
El tema es que quiero que salgan varios dropdownlist distintos, pero utilizando el mismo objectdatasource, aunque la variable de sesión cambie cada vez que "supuestamente" se cargara o creara un nuevo dropdownlist.
¿Alguna ayuda?
  #3 (permalink)  
Antiguo 25/06/2010, 20:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: DropDownList Infernal

NO se si esto te sirve

controlx = "ddlpais"
GridView1.EditIndex = e.NewEditIndex
FillCustomerInGrid()
BindGridDropDownList(e.NewEditIndex, pai, controlx)

controlx = "ddlregion"
GridView1.EditIndex = e.NewEditIndex
BindGridDropDownList(e.NewEditIndex, reg, controlx)

controlx = "ddlclte"
GridView1.EditIndex = e.NewEditIndex
BindGridDropDownList(e.NewEditIndex, cli, controlx)
End Sub

Protected Sub BindGridDropDownList(ByVal iEditIndex As Integer, ByVal lblpai As Label, ByVal contro As String)
If contro = "ddlpais" Then
Dim cmbType As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType.DataSource = customer.Fetchpais()
cmbType.DataBind()
cmbType.Items.FindByValue(lblpai.Text).Selected = True
ppai = lblpai.Text
Else
If contro = "ddlregion" Then
Dim cmbType1 As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType1.DataSource = customer.Fetchregion(ppai)
cmbType1.DataBind()
cmbType1.Items.FindByValue(lblpai.Text).Selected = True
regg = lblpai.Text
Else
Dim cmbType2 As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType2.DataSource = customer.Fetchclte(ppai, regg)
cmbType2.DataBind()
cmbType2.Items.FindByValue(lblpai.Text).Selected = True
End If
End If

End Sub


Public Function Fetchpais() As DataTable
Dim sql As String = "SELECT descripcion,codpais FROM pais"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
Public Function Fetchregion(ByVal varpais As String) As DataTable
Dim sql As String = "SELECT * FROM region where pais = '" & varpais & "'"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
Public Function Fetchclte(ByVal varpais As String, ByVal varregion As String) As DataTable
Dim sql As String = "SELECT * FROM CLIENTE where codpais = '" & varpais & "' AND codregion = '" & varregion & "'"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
  #4 (permalink)  
Antiguo 28/06/2010, 02:45
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: DropDownList Infernal

Oks. Ante todo gracias por contestar.
A ver si me explico mejor.
Imaginaros que quereis vender 3 productos, y de cada producto teneis "x" unidades.
Yo lo que quiero es que en el fichero ASPX se "pinten" 3 dropdownlist, uno para cada producto, y que los 3 dropdownlist tiren del mismo <asp:objectdatasource> para rellenar el dropdownlist (que tendra la cantidad de unidades disponibles del producto). Dicho objectdatasource llama a un método en C# que rellena el dropdownlist con respecto a una variable, que serían las "x" unidades.
Lo tengo todo realizado excepto el que los 3 dropdownlist tiren del mismo objectdatasource.
¿Alguna idea?
  #5 (permalink)  
Antiguo 02/07/2010, 01:59
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: DropDownList Infernal

¿Nadie? ¿En serio?

Etiquetas: dropdownlist, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:06.