Dear all,I have a question which is a little complicated. I want to refer a runtime-created GridView Control through Javascript, But the GridView is placed in a PlaceHolder <asp>, the PlaceHolder <asp> is placed in a Panel <asp>. How can I use Javascript to refer to it? Thanks
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- <asp:GridView ID="gvPurchaseRequisitionApproved" runat="server" AutoGenerateColumns="False" DataKeyNames="PR_IDP,PR_IDD,PR_IDS" OnRowDataBound="gvPurchaseRequisitionApproved_RowDataBound" > <Columns> </asp:TemplateField> <asp:TemplateField HeaderText="?????" ShowHeader="False"> <ItemTemplate> <table width="100%"> <tr> <td width="25%"> <asp:HyperLink ID="hplPopApproval" ImageUrl="~/pics/more.gif" runat="server">??</asp:HyperLink> </td> </tr> </table>
</ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
<asp:Panel ID="pnlPopPRDApproved" style="Z-INDEX: 101; LEFT: 6px; POSITION: absolute; TOP: 613px" runat="server" Height="249px" Width="955px" BackColor="#FFFFC0"> <asp:Image ID="imgClose" runat="server" ImageUrl="~/pics/close.jpg" OnClick="closePanel()"/> <br /> <asp:PlaceHolder ID="phPlaceHolder" runat="server"></asp:PlaceHolder> <asp:HiddenField ID="hdfPR_IDP" runat="server" /> <asp:HiddenField ID="hdfPR_IDD" runat="server" /> <asp:HiddenField ID="hdfPR_IDS" runat="server" />
</asp:Panel>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C# Code Behind ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* * * method to init PurchaseRequisitionDApproved * */ private void mb_fnInitPurchaseRequisitionDApproved(string strPR_IDP, string strPR_IDD, string strPR_IDS) { try { for (int i = 0; i < this.mb_objDataSet.Tables.Count; i++) { if (this.mb_objDataSet.Tables[i].TableName.CompareTo("tabPurchaseRequisitionDApproved") == 0) { this.mb_objDataSet.Tables[i].Reset(); } // end if (this.mb_objDataSet.Tables[i].TableName.CompareTo("tabPurchaseRequisitionDApproved") == 0) } // end for (int i = 0; i < this.mb_objDataSet.Tables.Count; i++)
this.mb_objSqlCmdPurchaseRequisitionDApproved = new SqlCommand(); this.mb_objSqlCmdPurchaseRequisitionDApproved.CommandType = CommandType.Text; this.mb_objSqlCmdPurchaseRequisitionDApproved.Connection = this.mb_objConn.pcon_sqlConnection; this.mb_objSqlCmdPurchaseRequisitionDApproved.CommandText = "select * from vwrPurchaseRequisitionDApproved " + "where " + "PR_IDP = '" + strPR_IDP + "' and " + "PR_IDD = '" + strPR_IDD + "' and " + "PR_IDS = '" + strPR_IDS + "'";
this.mb_objSqlDaPurchaseRequisitionDApproved = new SqlDataAdapter(this.mb_objSqlCmdPurchaseRequisitionDApproved); this.mb_objSqlDaPurchaseRequisitionDApproved.Fill(this.mb_objDataSet, "tabPurchaseRequisitionDApproved"); } // end try catch (Exception ex) { throw ex; } // end catch (Exception ex) } // end mb_fnInitPurchaseRequisitionDApproved() /* * * Method to bind PurchaseRequisitionDApproved to GridView * */ private void mb_fnBindPurchaseRequisitionDApproved2GV(GridView gvGridView) { try { gvGridView.DataSource = mb_objDataSet.Tables["tabPurchaseRequisitionDApproved"]; gvGridView.DataBind(); } catch (Exception ex) { throw ex; } } // end mb_fnBindPurchaseRequisitionDApproved2GV()
protected void gvPurchaseRequisitionApproved_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) {
HyperLink hplHyperLink2 = (HyperLink)e.Row.FindControl("hplPopApproval");
hplHyperLink2.Attributes.Add("onclick", "ShowMyModalPopup(" + "'" + gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[0] + "', " + "'" + gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[1] + "', " + "'" + gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[2] + "'" + ")");
Control tempControl = LoadControl("wucPurchaseRequisitionApproved.ascx");
GridView gvClone = new GridView(); phPlaceHolder.Controls.Add(tempControl);
foreach (Control ctl in phPlaceHolder.Controls) { foreach (Control ctl1 in ctl.Controls) { if (ctl1 is GridView) { gvClone = (GridView) ctl1; gvClone.ID = gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[0].ToString() + gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[1].ToString() + gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[2].ToString(); } }
} // end foreach (Control ctl in phPlaceHolder.Controls)
mb_fnInitPurchaseRequisitionDApproved(gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[0].ToString(), gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[1].ToString(), gvPurchaseRequisitionApproved.DataKeys[e.Row.RowIndex].Values[2].ToString()); mb_fnBindPurchaseRequisitionDApproved2GV(gvClone);
gvClone.Style.Add("visibility", "hidden"); // --------------------------------------------------------------------------------
} // end if (e.Row.RowType == DataControlRowType.DataRow) }^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^%%%%%%%%%% JavaScript %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function ShowMyModalPopup(PR_IDP, PR_IDD, PR_IDS){
var varPR_IDP = PR_IDP; var varPR_IDD = PR_IDD; var varPR_IDS = PR_IDS;
var varPR_ID = PR_IDP + PR_IDD + PR_IDS; // this variable for concatnate GridViewID vista = (document.getElementById('pnlPopPRDApproved').style.visibility == 'hidden') ? 'visible' : 'hidden'; document.getElementById('pnlPopPRDApproved').style.visibility = vista;
// I want to refer RunTime created gridview here but how can I refer to runtime-created gridview that is within a Panel and within a PlaceHolder ?? var varphPlaceHolder = document.all['phPlaceHolder']; varphPlaceHolder.varPR_ID.style.visibility = 'visible'; // something like this but this syntac doesn't work confirm(varphPlaceHolder.id); document.getElementById('hdfPR_IDP').value = varPR_IDP; document.getElementById('hdfPR_IDD').value = varPR_IDD; document.getElementById('hdfPR_IDS').value = varPR_IDS;
pos = getClick(event); document.getElementById('pnlPopPRDApproved').style.left = pos.x; document.getElementById('pnlPopPRDApproved').style.top = pos.y; }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Regards,
Man Pak Hong, Dave
my hotmail: [email protected]