Как из названия, я хотел бы сделать всплывающее окно при щелчке кнопки ItemTemplate в GridView (1).(ASP.NET) Как это сделать: нажмите кнопку в GridView, чтобы открыть всплывающее окно, содержащее другое Gridview
Всплывающее окно будет содержать еще один GridView (2), и этот содержит информацию (полученную из базы данных), эта информация такая же, как GridView (1), и мне нужны только данные из индекса строки Кнопка.
Это код, который у меня есть. 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);
}
Вышеуказанные коды, которые я не работаю, и я не могу показаться, чтобы найти проблему с ним, или я, возможно, забыл что-то. Если вам интересно, какая часть, новое окно не всплывает. Спасибо.
Вам понадобится 'updatepanel' для хранения' GridView'. Затем нажмите кнопку «ОК», откройте всплывающее окно и обновите GridView с обновлением обновленной панели. – Hemal