protected void gvNotification_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowIndex >= 0) { View_StocktakeNotification noti = e.Row.DataItem as View_StocktakeNotification; if (noti.NotificationID == 0) { return; } LinkButton linkNotificationNo = e.Row.Cells[3].FindControl("linkNotificationNo") as LinkButton; if (View == "notification") { LinkButton linkPublish = e.Row.Cells[1].FindControl("linkPublish") as LinkButton; LinkButton linkModify = e.Row.Cells[1].FindControl("linkModify") as LinkButton; LinkButton linkExportNoti = e.Row.Cells[1].FindControl("linkExportNoti") as LinkButton; LinkButton linkExportNotiDetails = e.Row.Cells[1].FindControl("linkExportNotiDetails") as LinkButton; SetButtonByStatus(linkPublish, linkModify, linkNotificationNo, linkExportNoti, linkExportNotiDetails, noti); } else { LinkButton linkFill = e.Row.FindControl("linkFill") as LinkButton; LinkButton linkImport = e.Row.FindControl("linkImport") as LinkButton; LinkButton linkExport = e.Row.FindControl("linkExport") as LinkButton; SetResultByStatus(linkFill, linkImport, linkNotificationNo, linkExport, noti.Status.Value, noti.NotificationID); } //if (!noti.Published.Value)//notification is not published yet //{ // string modifyScript = string.Format("showDialog('StocktakeNotice.aspx?Mode=Edit&id={0}',950,550);return false;", noti.NotificationID); // linkModify.OnClientClick = modifyScript; // linkModify.Style[HtmlTextWriterStyle.Cursor] = "hand"; // string publishScript = string.Format("showDialog('NotificationPublish.aspx?id={0}',950,550);return false;", noti.NotificationID); // linkPublish.OnClientClick = publishScript; // linkPublish.Style[HtmlTextWriterStyle.Cursor] = "hand"; //} //else //{ // linkPublish.Enabled = false; // linkModify.Enabled = false; //} } }
void SetButtonByStatus(LinkButton linkPublish, LinkButton linkModify, LinkButton linkView, LinkButton linkExportNoti, LinkButton linkExportNotiDetails, View_StocktakeNotification noti) // bool published, int status, long notificatioID) { if (!noti.Published.Value) //not published yet { string viewScript = string.Format("showDialog('StocktakeNotice.aspx?Mode=View&id={0}',950,550, null, \"refresh('{1}')\");return false;", noti.NotificationID, Toolbar1.Controls[3].ClientID); linkView.OnClientClick = viewScript; linkView.Style[HtmlTextWriterStyle.Cursor] = "hand"; linkModify.Enabled = true; linkPublish.Enabled = true; string modifyScript = string.Format("showDialog('StocktakeNotice.aspx?Mode=Edit&id={0}',950,550, null, \"refresh('{1}')\");return false;", noti.NotificationID, Toolbar1.Controls[3].ClientID); linkModify.OnClientClick = modifyScript; linkModify.Style[HtmlTextWriterStyle.Cursor] = "hand"; linkPublish.Text = "发布"; linkPublish.CommandName = "publish"; linkPublish.CommandArgument = noti.NotificationID.ToString(); string deployScript = string.Format("showDialog('NotificationPublish.aspx?id={0}&Mode=Edit',950,550, null, \"refresh('{1}')\");return false;", noti.NotificationID, Toolbar1.Controls[3].ClientID); linkPublish.OnClientClick = deployScript; linkPublish.Style[HtmlTextWriterStyle.Cursor] = "hand"; linkExportNoti.Enabled = false; linkExportNotiDetails.Enabled = true; } else//published { string viewScript = string.Format("showDialog('NotificationPublish.aspx?Mode=View&id={0}',950,550, null, \"refresh('{1}')\");return false;", noti.NotificationID, Toolbar1.Controls[3].ClientID); linkView.OnClientClick = viewScript; linkView.Style[HtmlTextWriterStyle.Cursor] = "hand"; linkModify.Enabled = false; if (noti.Status.Value == Consts.STOCKTAKE_PUBLISHED)//just published { linkPublish.Enabled = false; } else// notification has been filled { linkPublish.Enabled = false; } linkExportNoti.Enabled = true; linkExportNotiDetails.Enabled = true; } }