public void SelectAllGridData(string keyField, string keyField2 = "", string keyField3 = "", string keyField4 = "", string keyField5 = "") { CachedDataKey.Clear(); for (var i = 0; i < Rows.Count; i++) { ((CheckBox)Rows[i].Cells[0].FindControl("selectCheckBox")).Checked = true; } for (var i = 0; i < GridDataSource.Rows.Count; i++) { DataRow dr = GridDataSource.Rows[i]; OrderedDictionary dic = new OrderedDictionary(); dic.Add(keyField, dr[keyField]); if (!string.IsNullOrEmpty(keyField2)) { dic.Add(keyField2, dr[keyField2]); } if (!string.IsNullOrEmpty(keyField3)) { dic.Add(keyField3, dr[keyField3]); } if (!string.IsNullOrEmpty(keyField4)) { dic.Add(keyField4, dr[keyField4]); } if (!string.IsNullOrEmpty(keyField5)) { dic.Add(keyField5, dr[keyField5]); } CachedDataKey.Add(dic); } }
/// <summary> /// Raises the <see cref="E:System.Web.UI.WebControls.GridView.PageIndexChanging"/> event. /// </summary> /// <param name="e">A <see cref="T:System.Web.UI.WebControls.GridViewPageEventArgs"/> that contains event data.</param> /// <exception cref="T:System.Web.HttpException">There is no handler for the <see cref="E:System.Web.UI.WebControls.GridView.PageIndexChanging"/> event.</exception> protected override void OnPageIndexChanging(GridViewPageEventArgs e) { var dataView = new DataView(GridDataSource); //Code Added for Check box persistent if (GridMode == GridSelectMode.MultiSelect) { if (GridMode == GridSelectMode.MultiSelect) { for (var i = 0; i < Rows.Count; i++) { var item = (OrderedDictionary)DataKeys[i].Values; var checkBox = (CheckBox)Rows[i].Cells[0].FindControl("selectCheckBox"); int index; if (checkBox.Checked && !Contains(CachedDataKey, item, out index)) { CachedDataKey.Add(item); } else if (!checkBox.Checked && Contains(CachedDataKey, item, out index)) { CachedDataKey.RemoveAt(index); } } } } //End: if (GridSortExpression != null) { dataView.Sort = GridSortExpression + " " + GridSortDirection; } PageIndex = e.NewPageIndex > -1 ? e.NewPageIndex : 0; DataSource = dataView; DataBind(); }
private IList <DataKey> MultiSelectData() { var response = new List <DataKey>(); for (var i = 0; i < Rows.Count; i++) { var checkBox = (CheckBox)Rows[i].Cells[0].FindControl("selectCheckBox"); // Added var item = (OrderedDictionary)DataKeys[i].Values; if (checkBox.Checked) { SelectedIndex = i; response.Add(SelectedDataKey); } //Code Added for Check box persistent else { int index; if (Contains(CachedDataKey, item, out index)) { CachedDataKey.RemoveAt(index); } } //End: } //Code Added for Check box persistent if (CachedDataKey != null) { List <OrderedDictionary> chkdatakey = CachedDataKey; DataKey selectedKey; foreach (var item in chkdatakey) { selectedKey = GetDataKeyFromSelected(item); if (!response.Contains(selectedKey)) { response.Add(selectedKey); } } } //End: if (response.Count == 0) { throw new ValidationException(string.Format(ErrorDescription.NoRowSelectedinGridView, NoCheckCaption)); } CachedDataKey = null; return(response); }