protected void GrdConditionView_Sort(string sortExpression, params string[] sortExpr) { DataTable dataTable = Session["patientconditionview_data"] as DataTable; if (dataTable != null) { if (Session["patientconditionview_sortexpression"] == null) { Session["patientconditionview_sortexpression"] = ""; } DataView dataView = new DataView(dataTable); string[] sortData = Session["patientconditionview_sortexpression"].ToString().Trim().Split(' '); string newSortExpr = (sortExpr.Length == 0) ? (sortExpression == sortData[0] && sortData[1] == "ASC") ? "DESC" : "ASC" : sortExpr[0]; dataView.Sort = sortExpression + " " + newSortExpr; Session["patientconditionview_sortexpression"] = sortExpression + " " + newSortExpr; GrdConditionView.DataSource = dataView; GrdConditionView.DataBind(); } }
protected void FillGrdConditionView(Patient patient = null) { if (patient == null) { patient = PatientDB.GetByID(GetFormPatientID()); } DataTable dt = ConditionDB.GetDataTable(false); Hashtable conditionHash = ConditionDB.GetHashtable(false); Session["patientconditionview_data"] = dt; if (dt.Rows.Count > 0) { GrdConditionView.DataSource = dt; try { GrdConditionView.DataBind(); Hashtable selectedConditions = PatientConditionDB.GetHashtable_ByPatientID(patient.PatientID, false); for (int i = GrdConditionView.Rows.Count - 1; i >= 0; i--) { Label lblId = GrdConditionView.Rows[i].FindControl("lblId") as Label; Label lblDate = GrdConditionView.Rows[i].FindControl("lblDate") as Label; Label lblNextDue = GrdConditionView.Rows[i].FindControl("lblNextDue") as Label; Label lblDateDue = GrdConditionView.Rows[i].FindControl("lblDateDue") as Label; Label lblAdditionalInfo = GrdConditionView.Rows[i].FindControl("lblAdditionalInfo") as Label; Label lblText = GrdConditionView.Rows[i].FindControl("lblText") as Label; System.Web.UI.HtmlControls.HtmlControl br_date = (System.Web.UI.HtmlControls.HtmlControl)GrdConditionView.Rows[i].FindControl("br_date"); System.Web.UI.HtmlControls.HtmlControl br_nweeksdue = (System.Web.UI.HtmlControls.HtmlControl)GrdConditionView.Rows[i].FindControl("br_nweeksdue"); System.Web.UI.HtmlControls.HtmlControl br_text = (System.Web.UI.HtmlControls.HtmlControl)GrdConditionView.Rows[i].FindControl("br_text"); if (lblId == null) { continue; } Condition condition = (Condition)conditionHash[Convert.ToInt32(lblId.Text)]; br_date.Visible = condition.ShowDate; lblDate.Visible = condition.ShowDate; br_nweeksdue.Visible = condition.ShowNWeeksDue; lblNextDue.Visible = condition.ShowNWeeksDue; lblDateDue.Visible = condition.ShowNWeeksDue; br_text.Visible = condition.ShowText; lblText.Visible = condition.ShowText; lblAdditionalInfo.Visible = condition.ShowText; if (selectedConditions[Convert.ToInt32(lblId.Text)] != null) { PatientCondition ptCondition = (PatientCondition)selectedConditions[Convert.ToInt32(lblId.Text)]; if (condition.ShowDate) { lblDate.Text = ptCondition.Date == DateTime.MinValue ? "[Date Not Set]" : ptCondition.Date.ToString("d MMM, yyyy"); } if (condition.ShowNWeeksDue) { bool expired = ptCondition.Date != DateTime.MinValue && ptCondition.Date.AddDays(7 * ptCondition.NWeeksDue) < DateTime.Today; lblDateDue.Text = ptCondition.Date == DateTime.MinValue ? "[Date Not Set]" : (expired ? "<font color=\"red\">" : "") + ptCondition.Date.AddDays(7 * ptCondition.NWeeksDue).ToString("d MMM, yyyy") + (expired ? "</font>" : ""); } if (condition.ShowText) { lblText.Text = ptCondition.Text.Length == 0 ? "[Blank]" : ptCondition.Text; } } else { GrdConditionView.Rows[i].Visible = false; } } } catch (Exception ex) { SetErrorMessage("", ex.ToString()); } //Sort("parent_descr", "ASC"); } else { dt.Rows.Add(dt.NewRow()); GrdConditionView.DataSource = dt; GrdConditionView.DataBind(); int TotalColumns = GrdConditionView.Rows[0].Cells.Count; GrdConditionView.Rows[0].Cells.Clear(); GrdConditionView.Rows[0].Cells.Add(new TableCell()); GrdConditionView.Rows[0].Cells[0].ColumnSpan = TotalColumns; GrdConditionView.Rows[0].Cells[0].Text = "No Record Found"; } }