我有兩個列一個用於其他複選框的ID爲&。 我已經採取了gridview內的複選框。 我想看看在GridView內部檢查的值,如果複選框被選中的話,我想這些值,即ID Asp.net在gridview(Asp.net)中獲取所選複選框的ID c#
回答
foreach(Gridviewrow gvr in Gridview1.Rows)
{
if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true)
{
int uPrimaryid= gvr.cells["uPrimaryID"];
}
}
我認爲他的問題是,與一個正常的asp:CheckBoxField你實際上不能設置它的ID,所以你必須將其轉換爲模板字段? – 2011-03-31 12:59:37
是的,那裏沒有其他解決方案 – 2011-03-31 13:02:39
我使用的代碼,但它沒有給予檢查值,即id:foreach(reviewview.rid中的GridViewRow行){CheckBox cb =(CheckBox)row.FindControl(「chkmark」); if(cb.Checked == true){int markid = Convert.ToInt32(reviewgrid.DataKeys [row.RowIndex] .Value); }} – Ishika 2011-04-01 04:41:48
你將要做的是使用模板領域:
<asp:TemplateField HeaderText="Field">
<ItemTemplate>
<div style="display: block">
<asp:Checkbox Checked='<%# DataBinder.Eval(Container.DataItem,"Field") %>'
runat="server" ID="chkField"></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
然後,你可以這樣做:
foreach (DataGridRow dr in DataGrid1.Rows)
{
((CheckBox)gvr.FindControl("chkField")).Checked
}
,看它是否已選中
<asp:gridview id="gv" runat="server">
<columns>
<asP:TemplateField>
<Asp:checkbox id="chk" runat="server" />
<Asp:literal id="ltlID" runat="server" visible="false" text='<%#eval("ID")%>' />
</asp:TemplateField>
</columns>
</asp:gridview>
For each row as gridviewrow in gv.rows
if ctype(row.findcontrol("chk"),checkbox).checked then
Dim _ID as integer = ctype(row.findcontrol("ltlID"),literal).text
end if
next
您有以下
<asp:GridView ID="gridViewID" runat="server" DataKeyNames="DataKey1,DataKey2,DataKey3" >
<Columns>
<asp:TemplateField HeaderText="selected">
<ItemTemplate>
<asp:CheckBox ID="checkBoxID" runat="server"
Checked='<%# Bind("Selected") %>'
OnCheckedChanged="checkBoxID_CheckedChanged"
AccessKey='<%# Container.DataItemIndex %>'
AutoPostBack="True" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在事件處理
然後,你做同樣的事情到這一點:
protected void checkBoxID_CheckedChanged(object sender, EventArgs e)
{
var checkbox = (CheckBox)sender;
var rowIndex = Convert.ToInt32(checkbox.AccessKey);
var gridView = GetErhebungModulGridView();
var dataKey = gridView.DataKeys[rowIndex];
if (dataKey != null)
{
var dataKey1 = dataKey["DataKey1"];
var dataKey2 = dataKey["DataKey2"];
var dataKey3 = dataKey["DataKey3"];
//Do something with the variables keys above
}
}
什麼是GetErhebungModulGridView()? – Kardo 2014-07-26 12:02:42
GetErhebungModulGridView()只是一個FindControl(「id」)調用,我們封裝在一個方法中,因爲它在多個位置使用 - 對於混淆 – msgrockclimber 2014-10-27 16:05:56
- 1. 在ASP.Net GridView中獲取選定的複選框
- 2. Checkboxlist +獲取所有複選框的ID
- 3. asp.net gridview複選框選擇
- 4. 獲取複選框的ID
- 5. 如何獲取Jquery bootgrid中所有選中複選框的ID?
- 6. ASP.NET Gridview - 複選框 - 選擇多行並獲取記錄
- 7. 選擇GridView(asp.net)中特定列中的所有複選框
- 8. 獲取複選框ID Serverside C#
- 9. 帶有複選框的GridView:如何在ASP.Net中獲取選定的行
- 10. JQuery獲取複選框ID
- 11. 如何獲取GridView中的複選框的ID
- 12. 使用jQuery選擇GridView ASP.NET中的所有複選框
- 13. ASP.NET 2.0 Gridview位複選框
- 14. asp.net mvc check gridview複選框
- 15. 從asp.net模板列中的複選框獲取數據gridview
- 16. 獲取DexExpress中的複選框ID AspxGridView
- 17. GridView與ASP.NET中的複選框
- 18. 從jQuery中的asp複選框列表中獲取所選複選框的值
- 19. 獲取GridView中的複選框選中的事件
- 20. 獲取gridview項中的複選框狀態爲gridview上的所有複選框點擊按鈕點擊
- 21. C#中的ASP.Net複選框#
- 22. 當在vb.net中選擇一個複選框時,取消選中GridView中的所有複選框
- 23. 無法從複選框中獲取ID
- 24. 從複選框中獲取ID
- 25. 選中使用標題複選框在asp.net網格中的所有複選框
- 26. 從Gridview |獲取動態創建的複選框值Asp.net
- 27. 在分頁的GridView中持久化複選框值asp.net/c#
- 28. 更新數據庫在gridview asp.net中的複選框更改c#
- 29. 複選框,在GridView
- 30. 從複選框中獲取值asp.net&vb
我沒有得到答案了我想這也較早,但我得到來自數據庫的所有值,因爲我只想檢查值。假設我只檢查了3個值然後我只想要3個值並不是所有的值 – Ishika 2011-04-01 04:54:15
你只需要檢查checkboes的值並創建id的字符串,我認爲會爲你工作 – 2011-04-01 06:57:06
我爲它寫代碼但沒有獲取值。這裏當我選中該複選框時,它也會給出錯誤的值。請幫我 – Ishika 2011-04-01 07:21:39