从标题开始,我想点击GridView(1)中的ItemTemplate按钮弹出一个窗口。
弹出窗口将包含另一个GridView(2),这个包含信息(从数据库中检索),这个信息与GridView(1)相同,我只想从Button的行索引中获取数据
这些是我的一些代码。 JavaScript的:
<script type="text/javascript">
$(function() {
$("[id*=btnShowPopup]").click(function() {
ShowPopup();
return false;
});
});
function ShowPopup() {
$("#dialog").dialog({
title: "GridView",
width: 450,
buttons: {
Ok: function() {
$(this).dialog('close');
}
},
modal: true
});
}
</script>
GridView(2)设计:
<div id="dialog" style="display: none">>
<asp:GridView ID="gridviewpopup" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:ImageField DataImageUrlField="companyLogo" HeaderText="Company Logo" ControlStyleWidth="170" ControlStyle-Height="120" />
<asp:BoundField DataField="companyName" HeaderText="Company Name" />
<asp:BoundField DataField="companyInfo1" HeaderText="Background Information" />
</Columns>
</asp:GridView>
</div>
aspx.cs文件代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM companyList WHERE companyIndID ='" + Convert.ToString(ddlIndustry.SelectedValue) + "' AND companySectID='" + Convert.ToString(ddlSector.SelectedValue) + "'" ))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
gridviewpopup.DataSource = dt;
gridviewpopup.DataBind();
}
}
}
}
}
protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridviewpopup.PageIndex = e.NewPageIndex;
this.BindGrid();
ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);
}
上面的代码我没有用,我似乎无法找到它的问题,或者我可能忘了一些东西。 如果您想知道哪个部分,则不会弹出新窗口。 谢谢。
答案 0 :(得分:0)
1)您可以将超链接按钮放在Gridview中,并为第二个Gridview提供路径。 您也可以点这个链接。 Open new gridview through Hyperlink 并为此创建一个连接类。 2)在一个aspx页面上创建一个Gridview。并在另一页上制作另一个Gridview。 的Response.Redirect( “〜/ secondGridviewpageYouwantTocall.aspx”); 你可以用它来重定向
答案 1 :(得分:0)
感谢您的回答,我无法完全按照自己的意愿行事,但是我使用了Button发送器和GridViewRow来获取行索引数据并使用DataBind插入到其他GridView并使用可见=真,仍然不介意更好的答案。