1

チェックボックス付きのグリッドが1つあります。場合によっては、行を選択して [追加] ボタンをクリックしても機能せず、デバッガーが行を選択していないことを示します。これはコードです:

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);
        }
4

1 に答える 1

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;");
        }

    }
于 2012-04-26T07:20:20.307 に答える