2015-12-13 2 views
2

У меня есть опция gridview with option. когда я выбираю строку с отмеченным флажком, а затем нажимаю кнопку , установите флажок для обновления данных с параметром. и тогда мой вопрос: флажок установить населяющий флажок установлен (true) в gridview из нажатия кнопки действия.checkbox установлен (true) в gridview из кнопки действия нажмите

это мой взгляд.

<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

Возможно, это не лучший ответ за то, над чем вы работаете, но здесь доступно одно решение. Если вы можете использовать вызовы AJAX на своем веб-сайте, и если вы хотите использовать немного JQuery ниже, это один из способов приблизиться к сохранению списка значений из отмеченных строк сетки сетки, в java-скрипте, затем использует AJAX для отправки этих идентификаторов ваш сайт, чтобы что-то сделать с коллекцией.

<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 
    } 

+0

любая другая идея? потому что им не знаком с AJAX. пожалуйста, дайте мне образец URL или другие, чтобы исправить мои проблемы. благодаря... –