Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 5.32 KB  |  hits: 30  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Gridview disappearing on link click
  2. <div class="PGE_SearchResult">    
  3.  <asp:Panel ID="pnlWrapper" runat="server" CssClass="addSearchPanelStyle">        
  4.     <asp:GridView ID="gvExistingPatientsSearch" runat="server" AutoGenerateColumns="false" DataKeyNames="PatientId" CssClass="addSearchGridViewStyle"
  5.         AlternatingRowStyle-CssClass="STD_GridView_AlternateRow" RowStyle-CssClass="STD_GridView_Row"
  6.         HeaderStyle-CssClass="gvFixedHeader" FooterStyle-CssClass="STD_GridView_Footer"
  7.         OnRowDataBound="gvExistingPatientsSearch_RowDataBound">
  8.         <Columns>
  9.             <asp:TemplateField HeaderText="Patient ID" ItemStyle-CssClass="PGS_PSR_PatientID">
  10.                 <ItemTemplate>
  11.                    <asp:LinkButton ID="lnkPatientSearch" runat="server" Text='<%# Bind("PatientId")%>' OnClick="OnPatientIDClick" CommandArgument='<%# Eval("PatientId")+ ";" + Eval("PatientStatus")+ ";" + Eval("DOB") + ";" + Eval("DiseaseStates") + ";" + Eval("DiseaseStateIds")%>'></asp:LinkButton>
  12.                 </ItemTemplate>
  13.             </asp:TemplateField>
  14.             <asp:BoundField DataField="PatientName" HeaderText="Patient Name" ItemStyle-CssClass="PGS_PSR_Site"/>
  15.             <asp:BoundField DataField="DOB" HeaderText="Date of Birth" HtmlEncode="False" ItemStyle-CssClass="PGS_PSR_DOB"/>
  16.             <asp:TemplateField HeaderText="Site(s)" SortExpression="Site" ItemStyle-CssClass="PGS_PSR_Site">
  17.                 <ItemTemplate>
  18.                     <asp:Label ID="lblSiteSearch" runat="server" Text='<%# Bind("Site")%>'></asp:Label>                        
  19.                 </ItemTemplate>
  20.             </asp:TemplateField>              
  21.             <asp:BoundField DataField="SiteMRN" HeaderText="Site MRN" HtmlEncode="False" ItemStyle-CssClass="PGS_PSR_DOB"/>
  22.             <asp:TemplateField HeaderText="Disease State(s)" ItemStyle-CssClass="PGS_PSR_Site">
  23.                 <ItemTemplate>
  24.                     <asp:Panel ID="diseaseStatePanel" runat="server">
  25.                     </asp:Panel>
  26.             </ItemTemplate>
  27.             </asp:TemplateField>                        
  28.         </Columns>
  29.     </asp:GridView>
  30. </div>
  31.        
  32. protected void gvExistingPatientsSearch_RowDataBound(object sender, GridViewRowEventArgs e)
  33. {
  34.     DataRowView patientData = (DataRowView)e.Row.DataItem;
  35.     string diseaseStates = patientData["DiseaseStates"] as string;
  36.     string diseaseStateIds = patientData["DiseaseStateIDs"] as string;
  37.     int PatientID = (int)patientData["PatientId"];
  38.     int patientStatus = (int)patientData["PatientStatus"];
  39.     DateTime DOB = DateTime.Parse(patientData["DOB"] as string);
  40.     if (e.Row.RowIndex != -1)
  41.     {
  42.         e.Row.Cells[2].Enabled = true;
  43.  
  44.         LinkButton lnkPatientSearch = (LinkButton)e.Row.FindControl("lnkPatientSearch");
  45.         lnkPatientSearch.Enabled = false;
  46.  
  47.         Panel diseaseStatePanel = (Panel)e.Row.FindControl("diseaseStatePanel");
  48.         BuildDiseaseStateLinks(diseaseStatePanel, diseaseStates, diseaseStateIds, PatientID, patientStatus, DOB, true);
  49.     }
  50. }
  51.        
  52. private void BuildDiseaseStateLinks(Panel diseaseStatePanel, string diseaseStates, string diseaseStateIDs, int PatientID, int patientStatus, DateTime DOB, bool isAllowed)
  53. {
  54.     string[] diseaseStateIdsSplit = diseaseStateIDs.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
  55.  
  56.     string[] diseaseStateSplit = diseaseStates.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
  57.  
  58.     for (int i = 0; i < diseaseStateSplit.Length; i++)
  59.     {
  60.         string diseaseState = diseaseStateSplit[i];
  61.         string diseaseStateID = diseaseStateIdsSplit[i];
  62.  
  63.         LinkButton diseaseStateLink = new LinkButton();
  64.         diseaseStateLink.Attributes.Add("style", "float:left");
  65.         diseaseStateLink.Text = diseaseState;
  66.         diseaseStateLink.CommandArgument =
  67.             PatientID + "|" + patientStatus + "|" + DOB.ToShortDateString() + "|" + diseaseState + "|" + diseaseStateID;
  68.  
  69.         if (isAllowed)
  70.         {
  71.             diseaseStateLink.CommandArgument += "|Allowed";
  72.         }
  73.         else
  74.         {
  75.             diseaseStateLink.CommandArgument += "|NotAllowed";
  76.         }
  77.  
  78.         diseaseStateLink.CommandName = "OnDiseaseStateLinkClick";
  79.         diseaseStateLink.Command += new CommandEventHandler(OnDiseaseStateLinkClick);
  80.  
  81.         diseaseStatePanel.Controls.Add(diseaseStateLink);
  82.  
  83.         if (i < diseaseStateSplit.Length - 1)
  84.         {
  85.             Label splitLabel = CreatePipeLabel();
  86.             diseaseStatePanel.Controls.Add(splitLabel);
  87.         }
  88.     }
  89. }
  90.        
  91. protected override void OnInit(EventArgs e)
  92. {
  93.     base.OnInit(e);
  94.  
  95.     // if being redirected from another page, remove the search attributes
  96.     // so it doesn't load the Search Grid view
  97.     if (Page.Request.UrlReferrer != Page.Request.Url)
  98.     {
  99.         Session[UNMGeneralConstants.SearchAttributes] = null;
  100.     }
  101.  
  102.     UserManagementBO userManagementBO = new UserManagementBO();
  103.     dsUserInSites = userManagementBO.GetSitesNameForUser(new Guid(Session[SessionVariables.Ses_UserId].ToString()));
  104.  
  105.     DataSet dsSearchResults2 = Session[UNMGeneralConstants.SearchAttributes] as DataSet;
  106.     if (dsSearchResults2 != null && dsSearchResults2.Tables.Count != 0)
  107.     {
  108.         gvExistingPatientsSearch.DataSource = dsSearchResults2;
  109.         gvExistingPatientsSearch.DataBind();
  110.     }
  111.     else
  112.     {
  113.         gvExistingPatientsSearch.DataSource = null;
  114.         gvExistingPatientsSearch.DataBind();
  115.     }
  116. }