2010-12-09 119 views
0

我創建了一個GridView,並在某些列前面有一個複選框。我需要獲取用戶正在忽略的數據並構建一個xml文件。ASP.NET Gridview - 複選框 - 選擇多行並獲取記錄

我找不出來。有人可以幫助我在C#中。

這是我的代碼到目前爲止。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataSourceID="ObjectDataSource1" AllowPaging="True" BackColor="#DEBA84" BorderColor="#DEBA84" 
BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" > 
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> 

<Columns>  

<asp:TemplateField> 
<HeaderStyle HorizontalAlign="left" /> 
<HeaderTemplate> 
<asp:CheckBox ID="chkSelectAll" ToolTip="Click here to select/deselect all rows" 
runat="server" /> 
</HeaderTemplate> 
<ItemTemplate> 
<asp:CheckBox ID="chkSelect" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 

<asp:TemplateField HeaderText="Service Point"> 
<ItemTemplate>     
<%# Eval("SERVICEPOINTID")%> 
</ItemTemplate> 
<HeaderStyle HorizontalAlign="Left" /> 
<ItemStyle HorizontalAlign="Left" /> 
</asp:TemplateField> 

<asp:TemplateField HeaderText="Start Date"> 
<ItemTemplate> 
<%# Eval("STARTTIME")%> 
</ItemTemplate>     
</asp:TemplateField> 

謝謝

史蒂夫

+0

你可以發佈代碼 - 你到目前爲止嘗試過嗎? – 2010-12-09 00:45:22

回答

1

您可以使用下面的代碼通過一個用於檢查行獲取值之一。

foreach (GridViewRow rowItem in GridView1.Rows) 
    { 
    var chk = (CheckBox)(rowItem.Cells[0].FindControl("chkSelectAll")); 

    // chk.checked will access the checkbox state on button click event 
    if (chk.Checked) 
    { 
     //get required values here 
    } 
    } 
0
ForEach(GridViewRow row in MyGridView.Rows) 
{ 
    if (row.RowType == DataControlRowType.DataRow) //avoid header/footer rows. 
    { 
    var myCheckBox = (CheckBox)row.FindControl("chkSelect"); 
    //myCheckBox.Checked tells you if it's checked or not, yay! 
    var myPrimaryKey = (GuidOrIntOrSomething)MyGridView.DataKeys[row.RowIndex].Value; 
    //now you have your Key and the checkbox for whether the user has checked it 
    //and you can do your update/insert/delete/whatever against the DB. 
    } 
} 

,你真的應該處理,檢查,直接使用您檢查所有的箱子都需要痛苦的JavaScript。當用戶點擊某個回傳時,這非常違反直覺,令人沮喪。

相關問題