Le bouton Aperçu avant impression dans la grille ci-dessous ouvre la page d'impression dans un nouvel onglet.Actualiser les données GridView avec réponse redirigée
En utilisant ce code java-script.
Java Script
<script type="text/javascript">
function SetTarget() {
document.forms[0].target = "_blank";
}
</script>
également les mises à jour du bouton d'impression OrderStatus
de « Dans l'attente » à « reçu »
Le problème est quand j'appuie sur le bouton d'impression dans les données de la grille ne sont pas actualisées i doivent recharger la page pour voir que OrderStatus
a été changé à la valeur actualisée.
Derrière Code
protected void gridOrders_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
string commandName = e.CommandName.ToString().Trim();
GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
GridViewRow gvRow = (GridViewRow)((Control)e.CommandSource).NamingContainer;
Int32 rowind = gvRow.RowIndex;
string orderid = row.Cells[1].Text;
switch (commandName)
{
case "Print":
if (r.CheckReceiving(orderid))
{
Session["orderid"] = orderid;
Server.Transfer("OrderPrint.aspx");
}
else
{
string msg = r.AddReceiving(r.GetNextReceivingID(), orderid, DateTime.Now.ToString());
if (msg == "true")
{
o.UpdateOrderStatus(orderid, "Received");
gridOrders.DataSource = o.ManageOrders(UtilityClass.ReadFromCookie("login", "OutletD", Request));
gridOrders.DataBind();
Session["orderid"] = orderid;
Server.Transfer("OrderPrint.aspx");
}
else
{
divreceivedfalse.Visible = true;
}
}
break;
default: break;
}
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
}
}
Grille est à l'intérieur UpdatePanel
<asp:GridView ID="gridOrders" OnRowDataBound="gridOrders_RowDataBound" OnRowCommand="gridOrders_RowCommand" runat="server" CssClass="table table-bordered text-nowrap" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Print" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="SetTarget('_blank');" CommandName="Print" CausesValidation="False" CssClass="btn btn-primary btn-xs" Text=""><i class="glyphicon glyphicon-print"></i></asp:LinkButton>
</ItemTemplate>
<ControlStyle CssClass="btn btn-default " />
</asp:TemplateField>
<asp:BoundField DataField="OrderID" HeaderText="Order #" SortExpression="OrderID" />
<asp:BoundField DataField="OrderDate" DataFormatString="{0:dd/MMM/yyyy hh:mm tt}" HeaderText="Order Date" SortExpression="OrderDate" />
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<asp:Label ID="lblStatus" CssClass="label label-primary" runat="server" Text='<%# Bind("OrderStatus") %>'> CausesValidation="False" Text=''></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
i ont encore la question – Ayman
La seule chose qui ne met pas à jour est votre étiquette liée à 'OrderStatus'? – Emad
oui qui est bon – Ayman