在DataGrid頁首上新增全選的CheckBox控制元件

hljhrbsjf發表於2007-04-17

很簡單的方法,就是用js實現:

頁面:

AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False">



















後臺程式碼:

private void dgUserList_PreRender(object sender, System.EventArgs e)
{
foreach (DataGridItem item in dgUserList.Controls[0].Controls)
{
if (item.ItemType == ListItemType.Header)
{
CheckBox chkAll=(CheckBox)item.FindControl("chkAll");
System.Text.StringBuilder strScript = new System.Text.StringBuilder("

if(!Page.IsClientScriptBlockRegistered("checkStatus"))
Page.RegisterClientScriptBlock("checkStatus",strScript.ToString());

chkAll.Attributes.Add("onclick","checkStatus()");
return;
}
}

方法2

(一).功能

1. JavaScript檢索CheckBox並實現全選和全消功能

用C#等寫的CheckBox需要回發到服務端執行,
而用JavaScript可以在直接客戶端實現,效率高些

(二).程式碼

1. DataGrid中的程式碼主要片段:

//頭模板程式碼

onclick="javascript:SelectAll(this);">


//項模板程式碼

2. 在當頁加入:

3.當使用者選擇好後臺程式碼取得某列CheckBox的值:
for (int i = 0;i {
bool blnIfSelect = ((CheckBox)this.DataGrid.Items[i].FindControl("chkItem")).Checked;
....; //這是可以根據blnIfSelect進行各種操作了
}

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/631872/viewspace-911218/,如需轉載,請註明出處,否則將追究法律責任。

相關文章