Loop Through GridView Флажки - PullRequest
1 голос
/ 10 марта 2012

Я пытаюсь перебрать все флажки и получить их значение, и если они отмечены или нет, и сохранить отмеченный / незарегистрированный в базе данных на основе значения, которое будет содержать идентификатор записи. Я пытаюсь сделать это через asp.net какие-либо предложения?

Вот код:

            <Columns>
                <asp:TemplateField HeaderText="Application" ItemStyle-Width="25%">
                    <ItemTemplate>                        
                        <%#Eval("App")%>
                    </ItemTemplate>                    
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Edit" ItemStyle-Width="25%">
                    <ItemTemplate>
                        <input name="chkEdit" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("Edit") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Delete" ItemStyle-Width="25%">
                    <ItemTemplate>                        
                        <input name="chkDelete" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("Delete") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="View" ItemStyle-Width="25%">
                    <ItemTemplate>                        
                        <input name="chkView" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("View") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>  

Ответы [ 2 ]

2 голосов
/ 10 марта 2012
string[] controls = new string[] {"chkEdit","chkDelete","chkView"};

foreach (GridViewRow r in YourGridView.Rows)
{
   foreach(string cnt in controls){
     int value =  Convert.ToInt32(((System.Web.UI.HtmlControls.HtmlInputCheckBox)r.FindControl(cnt)).Value);
     bool isChecked = ((System.Web.UI.HtmlControls.HtmlInputCheckBox)r.FindControl(cnt)).Checked;
     //now you have id and checked/unchecked. use your query to save it to database
   }
}
2 голосов
/ 10 марта 2012

в событии onclick сделать что-то вроде этого.

foreach(Gridviewrow gvr in Gridview1.Rows)
 {
     if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true)
     {

        //do something
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...