2010-10-23 63 views
2

我有GridView。我必須收集選中複選框的GridViewRow。我如何在沒有任何客戶端腳本的情況下實現它?請幫助我完成這件事。ASP.NET 3.5 GridView行選擇

+1

發佈代碼到目前爲止,對於想要回答您問題的人來說,這將使事情變得容易。 – 2010-10-23 16:24:04

回答

4

如果你熟悉LINQ,你可以得到這個像

List<GridViewRow> rowCollection = 
        GridView1.Rows 
        .OfType<GridViewRow>() 
        .Where(x => ((CheckBox)x.FindControl("chkRow")).Checked) 
        .Select(x => x).ToList(); 

所有最優秀的。

1

另一種老派的方法是通過for或foreach循環遍歷網格的Rows集合,找到FindControl方法的複選框並檢查它們的Checked屬性值。

1

稍後再回來時簡單易懂。

var selectedRows = (from GridViewRow row in GridView1.Rows 
        let cbx = (CheckBox)row.FindControl("CheckBox1") 
        where cbx.Checked 
        select row).ToList(); 

請記住,爲此,我認爲您需要將包含複選框的列轉換爲模板列。

+0

良好的工作。初學者可以很容易地理解這段代碼片段 – Seshan 2010-10-28 06:19:17