【发布时间】:2016-12-05 05:07:04
【问题描述】:
我已经创建了带有 CheckBox 字段的 Follow GridView。CheckBoxes 用于在单击提交按钮时获取选定(选中)行数据。 它工作正常,没有错误。
<div id="dialog2" style="display:none" >
<asp:GridView ID="GvSalesItems" runat="server" AutoGenerateColumns="False" DataKeyNames="sno" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="10" AllowPaging="True">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="checkAll" runat="server" onclick = "checkAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk" runat="server" onclick = "Check_Click(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkSelect" runat="server" Text="Select" CommandName = "Select" OnClientClick = "return GetSelectedRow(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="sno" HeaderText="Sno" />
<asp:BoundField DataField="itemcode" HeaderText="Item Code" />
<asp:BoundField DataField="itemname" HeaderText="Item Name" />
</Columns>
</GridView>
提交按钮的C#函数
protected void btnItemSave_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvrow in GvSalesItems.Rows)
{
CheckBox chk = (CheckBox)gvrow.Cells[0].FindControl("chk");
if (chk.Checked)
{
int sno = int.Parse(gvrow.Cells[2].Text);
int invoiceno = Convert.ToInt32(LblInvoiceAuto.Text);
string itemcode = gvrow.Cells[3].Text;
string itemname = gvrow.Cells[4].Text;
dt.Rows.Add(sno,invoiceno, itemcode, itemname);
}
}
}
现在我想在弹出窗口中显示这个 GridView,因此我正在使用以下 JavaScript 函数。但是,复选框功能现在不起作用。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/start/jquery-ui.css"
rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
$("[id*=btn3]").click(function () {
ShowPopup2();
return false;
});
});
function ShowPopup2() {
$("#dialog2").dialog({
title: "Item GridView",
width: 550,
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true
});
}
</script>
【问题讨论】:
-
哪个复选框功能?
-
我想在单击按钮时(在 GridView 外部)获取选中(选中)行数据并将其存储在 DataTable 中。当我使用 Static GridView 而不是 Popup 时,我的想法很有效
-
据我所知,它也应该可以在弹出窗口中正常工作。注意:确保
btnItemSave也包含在dialog2中,并删除对话框确定按钮。无需关闭对话框,因为btnItemSave会导致回发,从而有效地关闭您的对话框。 -
好的先生,我会尽快发布我的结果。谢谢你
-
先生,我已将 btnItemSave 按钮放在 Div 中。但是,它不会回发。如下
标签: javascript c# jquery gridview