Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
ITEMCOMMAND REPEATER
mercoledì 29 novembre 2006 - 10.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
mer 29 nov 2006 - 10:57
Ciao a tutti
ho ancora problemi con lìevento ItemCommand di un Repeater.
NON VIENE RICHIAMATO QUANDO CLICCO SU UN IMAGEBUTTON!!!!
Ecco il codice:
---FILE .ASPX---
<asp:Repeater id="rptOrdini" runat="server"> <headertemplate>
<Table Width="580" border="0" CellPadding="0" CellSpacing="1" Class="spazio3">
<tr bgcolor="#999999">
<td Width="184" Align="Left" Class="spazio1" id="tdProdottoTitle" style="display:inline" runat="server">
<span class="testo1">
<strong>Prodotto</strong>
</span>
</td> <td Width="184" Align="Left" valign="middle" Class="spazio1">
<span class="testo1">
<srong>Compratore</strong>
</span>
</td>
<td Width="82" Align="Left" valign="Middle" Class="spazio1">
<span class="testo1">
<strong>Data</strong>
</span>
</td>
<td Width="80" Align="Center" valign="Middle" Class="spazio1">
<span class="testo1">
<strong>Prezzo €</strong>
</span>
</td>
<td Width="44" Align="Middle" Class="spazio1"> </td>
</tr> </headertemplate>
<itemtemplate>
<tr bgcolor="#EEEEEE" onMouseOver="setPointer(this, 'over', '#EEEEEE')" onMouseOut="setPointer(this, 'out', '#EEEEEE')">
<td id="tdProdotto" Width="184" align="left" class="spazio1" style="display:inline" runat="server">
<span class='testo2'>
<asp:Label id="lblProduct" CssClass="testo2" runat="server"></asp:Label>
</span>
</td> <td width="184" align="left" valign="top" class="spazio1">
<span class='testo2'>
<%# DataBinder.Eval(Container, "DataItem.rag_soc_buyer") %>
</span>
</td>
<td width="82" align="right" valign="middle" class="spazio1"> <span class='testo2'>
<%# DataBinder.Eval(Container, "DataItem.order_create_date") %>
</span>
</td>
<td width="80" align="right" valign="middle" class="spazio1">
<span class='testo2'>
<asp:Label id="lblPrice" CssClass="testo2" runat="server"></asp:Label>
</span> </td> <td width="48" align="center" valign="middle" class="spazio1">
<asp:ImageButton ID="imgDett" ImageUrl="../immagini/vai.gif" ToolTip="visualizza ordine" Width="15" Height="14" runat="server"></asp:ImageButton>
<asp:ImageButton id="imgDel" ImageUrl="../immagini/del.gif" ToolTip="annulla ordine" Width="15" Height="13" runat="server"></asp:ImageButton>
</td> </tr>
</itemtemplate>
<alternatingitemtemplate>
<tr bgcolor="#DDDDDD" onMouseOver="setPointer(this, 'over', '#DDDDDD')" onMouseOut="setPointer(this, 'out', '#DDDDDD')">
<td id="tdProdotto" Width="184" align="left" class="spazio1" style="display:inline" runat="server">
<span class='testo2'>
<asp:Label id="lblProduct" CssClass="testo2" runat="server"></asp:Label>
</span>
</td>
<td width="184" align="left" valign="top" class="spazio1">
<span class='testo2'>
<%# DataBinder.Eval(Container, "DataItem.rag_soc_buyer") %>
</span>
</td>
<td width="82" align="right" valign="middle" class="spazio1"> <span class='testo2'>
<%# DataBinder.Eval(Container, "DataItem.order_create_date","{0:D}") %>
</span>
</td>
<td width="80" align="right" valign="middle" class="spazio1">
<span class='testo2'>
<asp:Label id="lblPrice" CssClass="testo2" runat="server"></asp:Label>
</span>
</td>
<td width="48" align="center" valign="middle" class="spazio1">
<asp:ImageButton ID="imgDett" ImageUrl="../immagini/vai.gif" ToolTip="visualizza ordine" Width="15" Height="14" runat="server"></asp:ImageButton>
<asp:ImageButton id="imgDel" ImageUrl="../immagini/del.gif" ToolTip="annulla ordine" Width="15" Height="13" runat="server"></asp:ImageButton>
</td> </tr>
</alternatingitemtemplate>
<footertemplate>
</Table>
</footertemplate>
</asp:Repeater>
---FILE .CS---
private void rptOrdini_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
string id = string.Empty;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView row = (DataRowView)e.Item.DataItem;
Label lblPrice = (Label)e.Item.FindControl("lblPrice");
Label lblProduct = (Label)e.Item.FindControl("lblProduct");
HtmlTableCell tdProdotto = (HtmlTableCell)e.Item.FindControl("tdProdotto");
switch(Session["group_name"].ToString())
{
case ("Admin"):
lblPrice.Text = row["price"].ToString();
id= row["order_id"].ToString();
tdProdotto.Style["display"] = "none";
break;
case ("Produttore"):
lblPrice.Text = row["product_price"].ToString();
lblProduct.Text = row["product_title"].ToString();
id= row["id"].ToString();
tdProdotto.Style["display"] = "inline";
break;
case ("Compratore"):
lblPrice.Text = row["price"].ToString();
id= row["order_id"].ToString();
tdProdotto.Style["display"] = "none";
break;
}
ImageButton imgDett = (ImageButton)e.Item.FindControl("imgDett");
imgDett.CommandName = "Ordine";
imgDett.CommandArgument = id;
ImageButton imgDel = (ImageButton)e.Item.FindControl("imgDel");
if (Session["group_name"].ToString()=="Admin")
{
imgDel.CommandName = "AnnullaOrdineAdmin";
imgDel.CommandArgument = row["order_id"].ToString() + "-";
imgDel.Attributes.Add("onclick","return deleteThis('" + row["order_id"].ToString() + "')");
}
else if (Session["group_name"].ToString()=="Produttore")
{
imgDel.CommandName = "AnnullaOrdineProd";
imgDel.CommandArgument = row["id"].ToString() + "-" + row["product_id"].ToString() + "-" + row["quantita"].ToString();
imgDel.Attributes.Add("onclick","return deleteThis('" + row["product_title"] + "')");
}
else
imgDel.Visible = false;
}
else if (e.Item.ItemType == ListItemType.Header)
{
HtmlTableCell tdProdottoTitle = (HtmlTableCell)e.Item.FindControl("tdProdottoTitle");
switch(Session["group_name"].ToString())
{
case ("Admin"):
tdProdottoTitle.Style["display"] = "none";
break;
case ("Produttore"):
tdProdottoTitle.Style["display"] = "inline";
break;
case ("Compratore"):
tdProdottoTitle.Style["display"] = "none";
break;
}
}
}
private void rptOrdini_ItemCommand(Object Sender, RepeaterCommandEventArgs e)
{
string id = string.Empty;
string product_id = string.Empty;
string qty = string.Empty;
double qtyDB = 0;
string [] parametri = null;
Response.Redirect("Order.aspx?id=" + e.CommandArgument);
QuerySystem qs = new QuerySystem();
parametri = Regex.Split(e.CommandArgument.ToString(),"-");
id = parametri[0].ToString();
if (Session["group_name"].ToString()=="Produttore")
{
qty = parametri[3].ToString();
product_id = parametri[1].ToString();
}
if (e.CommandName == "Ordine")
{
Response.Redirect("Order.aspx?id=" + e.CommandArgument);
}
else if (e.CommandName == "AnnullaOrdineAdmin")
{
MySqlDataReader myReadOrder;
QuerySystem qsOrder = new QuerySystem();
myReadOrder=qsOrder.getOrderDetailsByOrderId(id);
if (myReadOrder.HasRows)
while (myReadOrder.Read())
{
qtyDB = Convert.ToDouble(qs.getQty(myReadOrder["product_id"].ToString()));
qtyDB += Convert.ToDouble(myReadOrder["quantita"].ToString());
qs.setQty(myReadOrder["product_id"].ToString(),qtyDB.ToString());
qs.setStatusOrdineDetails("5",myReadOrder["id"].ToString());
qtyDB = 0;
}
myReadOrder.Close();
qsOrder.Disconnect();
qs.setStatusOrdine("5",id);
}
else if (e.CommandName == "AnnullaOrdineProd")
{
QuerySystem qsProd = new QuerySystem();
qtyDB = Convert.ToDouble(qs.getQty(product_id));
qtyDB += Convert.ToDouble(qty);
qsProd.Disconnect();
qs.setStatusOrdineDetails("5",id);
qs.setQty(product_id ,qtyDB.ToString());
}
qs.Disconnect();
LoadOrderList();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.rptOrdini.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler(this.rptOrdini_ItemCommand);
this.rptOrdini.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.rptOrdini_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
GRAZIE PER L'AIUTO!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !