我有一个带有选项复选框的gridview。当我选中带复选框的行然后按下按钮 选中发送到带参数选项的更新数据复选框。然后我的问题是, 如何设置填充复选框在gridview中从操作按钮单击检查(true)。
这是我的观点。
<asp:GridView runat="server" ID="gvInquiryDocument">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkAll" runat="server" onclick="checkAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkSelect" runat="server" onclick="Check_Click(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" Visible="false">
<ItemTemplate>
<asp:TextBox ID="hdGetId" runat="server" Text='<%# Eval("ANO") %>'
Visible="false"></asp:TextBox>
<asp:TextBox ID="txtDeliveryBy" Visible="false" runat="server" Text='<%# Eval("DeliveryBy") %>'></asp:TextBox>
<asp:TextBox ID="txtPolicyNo" Visible="false" runat="server" Text='<%# Eval("PolicyNo") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是我的.cs
protected void btnSend_Click(object sender, EventArgs e)
{
DMSStatus dmsStatus = new DMSStatus();
foreach (GridViewRow di in gvInquiryDocument.Rows)
{
CheckBox chk = (CheckBox)di.FindControl("ChkSelect");
if (chk.Checked)
{
TextBox tx = (TextBox)di.FindControl("hdGetId");
var Ano = Server.HtmlDecode(tx.Text.Trim());
TextBox txtPolicyNo = (TextBox)di.FindControl("txtPolicyNo");
var PolicyNo = Server.HtmlDecode(txtPolicyNo.Text.Trim());
dmsStatus.ANO = Convert.ToInt16(Ano);
dmsStatus.PolicyNo = PolicyNo;
dmsStatus.UpdateData();
bindData();
//i want to set code after binddata....
}
}
}
private void bindData()
{
DMSStatus dmsStatus = new DMSStatus();
DataSet ds = dmsStatus.GetData();
gvInquiryDocument.DataSource = ds;
gvInquiryDocument.DataBind();
}
请给我解决方案。
感谢。
答案 0 :(得分:0)
这可能不是您正在处理的最佳答案,但这里有一个解决方案。如果你能够在你的网站上使用AJAX调用,并且如果你想在下面使用一点JQuery是一种方法来处理从已检查的网格视图行中保存值列表,在java脚本中,然后使用AJAX将这些ID发送到您的网站对该集合做了一些事情。
<script type="text/javascript">
function btnSend(sender, args){
var idCollection = new Array();
$('#<%=gvInquiryDocument.ClientID%>').find("input:checkbox").each(function () {
if (this.checked) {
//Find the ID value in the row by cell index
idCollection.push(this.parentElement.cells[3].innerHTML )
}
}
myWebServiceInterfaceClass.MyWebsiteServiceProxy.UpdateIdCollection(idCollection, SaveResults , ProxyCallFailed);
}
function SaveResults(results){
//If you want to send anything back to the site and do something after updating the ids
//Or just refresh the page and let the onload event repopulate your grid on postback
}
function ProxyCallFailed(){
//Something bad happened on your ajax call
}