点击弹出子页面GridView,双击选值后返回

父页面:

HTML:

<script>

function ShowModel()

{

var=arrTemp;

arrTemp=showModalDialog('../SystemMaintain/GKCompanyTree.aspx',null,'DialogWidth:400px;DialogHeight:350px');

//这是用来显示对话框的文本

document.getElementByid("<%=txtGKCompanyID.ClientID%>").value=arrTemp;

//通过此句我们可以获取从子页面传来的值并将它赋给txtGKCompanyID


}

 

</script>

<input id="GKCompanyID" type="button" value="..." οnclick="ShowModel()" style="width:30px"/>

再父页面的CS后台不需任何代码:

子页面:

 

HTML:

<script>

function doChoose(itemid)

window.parent.returnValue=itemid;

window.parent.close();

 

</script>

<asp:GridView id="gvCompany" runat="server" onrowdatabound="gvCompany_rowdatabound">

<Columns>
                  
                     <asp:TemplateField HeaderText="公司编号">
                       
                         <ItemTemplate>
                             <asp:Label ID="lbCompanyID" runat="server" Text='<%# Bind("CompanyID") %>'></asp:Label>
                         </ItemTemplate>
                     </asp:TemplateField>
                    <asp:TemplateField HeaderText="公司名称" HeaderStyle-Width =300px >

<HeaderStyle Width="300px"></HeaderStyle>

                        <ItemStyle HorizontalAlign =left Width =300px/>
                        <ItemTemplate>
                            <asp:Label runat =server ID="lblCompanyName" Text='<%#Eval("CompanyName")%>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

    </Columns>
            </asp:GridView>
     后台:CS页面:

protected void gvCompany_rowdatabound(object sender,GridVIewRowEventargs e)

{

if(e.Row.RowType==DataControlRowType.DataRow)

{
string lbCompanyID=((label)(e.Row.FindControl("lbCompanyID"))).Text.Trim();

string lbCompanyName=((label)(e.Row.FindControl("lbCompanyName"))).Text.Trim();

string returnValue=lbCompanyID+"-"+lbCompanyName;

e.Row.Attributes.Add("ondblclick","javascript:doChose('"+returnValue+"');");

//通过最下面的一句可以将GridView添加双击的事件使其双击时调用前台的doChose的方法:

 

}

}

//结束:

父页面:

HTML:

<script>

function ShowModel()

{

var=arrTemp;

arrTemp=showModalDialog('../SystemMaintain/GKCompanyTree.aspx',null,'DialogWidth:400px;DialogHeight:350px');

//这是用来显示对话框的文本

document.getElementByid("<%=txtGKCompanyID.ClientID%>").value=arrTemp;

//通过此句我们可以获取从子页面传来的值并将它赋给txtGKCompanyID


}

 

</script>

<input id="GKCompanyID" type="button" value="..." οnclick="ShowModel()" style="width:30px"/>

再父页面的CS后台不需任何代码:

子页面:

 

HTML:

<script>

function doChoose(itemid)

window.parent.returnValue=itemid;

window.parent.close();

 

</script>

<asp:GridView id="gvCompany" runat="server" onrowdatabound="gvCompany_rowdatabound">

<Columns>
                  
                     <asp:TemplateField HeaderText="公司编号">
                       
                         <ItemTemplate>
                             <asp:Label ID="lbCompanyID" runat="server" Text='<%# Bind("CompanyID") %>'></asp:Label>
                         </ItemTemplate>
                     </asp:TemplateField>
                    <asp:TemplateField HeaderText="公司名称" HeaderStyle-Width =300px >

<HeaderStyle Width="300px"></HeaderStyle>

                        <ItemStyle HorizontalAlign =left Width =300px/>
                        <ItemTemplate>
                            <asp:Label runat =server ID="lblCompanyName" Text='<%#Eval("CompanyName")%>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

    </Columns>
            </asp:GridView>
     后台:CS页面:

protected void gvCompany_rowdatabound(object sender,GridVIewRowEventargs e)

{

if(e.Row.RowType==DataControlRowType.DataRow)

{
string lbCompanyID=((label)(e.Row.FindControl("lbCompanyID"))).Text.Trim();

string lbCompanyName=((label)(e.Row.FindControl("lbCompanyName"))).Text.Trim();

string returnValue=lbCompanyID+"-"+lbCompanyName;

e.Row.Attributes.Add("ondblclick","javascript:doChose('"+returnValue+"');");

//通过最下面的一句可以将GridView添加双击的事件使其双击时调用前台的doChose的方法:

 

}

}

//结束:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值