1
아래의 그리드보기에있는 인쇄 버튼을 누르면 새 탭에 페이지가 인쇄됩니다.응답 리디렉션을 사용하여 그리드보기 데이터 새로 고침
이 자바 스크립트 코드를 사용하십시오.
자바 스크립트 또한
<script type="text/javascript">
function SetTarget() {
document.forms[0].target = "_blank";
}
</script>
인쇄 버튼 업데이트 '보류'내가 그리드 데이터의 인쇄 버튼이 난을 새로 고쳐지지 않습니다 누를 때 문제가
'수신'에에서 OrderStatus
OrderStatus
이 업데이트 된 값으로 변경되었는지 확인하려면 페이지를 다시로드해야합니다.
뒤에-코드
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);
}
}
그리드 업데이트 할 데이터의 변화 있다는 것을 이해할 수 없다 귀하의 경우 업데이트 패널에서 내부 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>
여전히 문제가 있습니다 – Ayman
업데이트하지 않는 것은 'OrderStatus'에 바인딩 된 라벨입니까? – Emad
네, 맞습니다 – Ayman