2012-04-26 71 views
1

我有一個網格與複選框。有時,當選擇行並單擊添加按鈕時,它不工作,調試器顯示我沒有選擇行。 這是一個代碼:ASPxGridView錯誤與複選框

protected void GridView_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) 
    { 
     ASPxGridView grid = sender as ASPxGridView; 
     List<object> ids = grid.GetSelectedFieldValues("ID"); 
     if (ids.Count > 0) 
     { ......... } 
} 
SelectAllCheckbox _SelectAll; 
    if (!(MyGV.Columns[0] is GridViewCommandColumn)) 
     { 
      _SelectAll = new SelectAllCheckbox() { GridClientInstanceName = MyGV.ClientInstanceName }; 
      Common.AddCommandColumn(MyGV, 0, _SelectAll); 
     } 

回答

1

希望這有助於。這裏使用RowDataBound事件。

private string chkGridColHeaderId = string.Empty; 

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      CheckBox chkAll = (CheckBox)e.Row.FindControl("chkSelectAll"); 
      chkAll.Attributes.Add("onclick", "SelectAll(this.checked)"); 
      chkGridColHeaderId = chkAll.ClientID; 

     } 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      CheckBox chkSelect = (CheckBox)e.Row.FindControl("chkSelect"); 

      chkSelect.Attributes.Add("onclick", "if(!this.checked)document.getElementById('" + chkGridColHeaderId + "').checked = false;"); 
     } 

    } 
+0

謝謝,但這沒有幫助,因爲我用dxwgv:ASPxGridView ... – 2012-04-26 10:07:54