public static DataTable GetDataTable2(int Alert_Id, int userId)
        {
            var param = GetParam(Alert_Id);

            DataTable dataTable = ReportAlertDetail__List_Model.GetDataTable(userId, param);

            GridViewModel viewModel = GetListDetailModel(Alert_Id, userId);

            return(dataTable);
        }
        static GridViewModel GetListDetailModel(int Alert_Id, int UserId)
        {
            var viewModel = GridViewExtension.GetViewModel("gvDetail|" + Alert_Id.ToString() + "|");

            if (viewModel == null)
            {
                viewModel = ReportAlertDetail__List_Model.CreateGridViewModel();
            }

            return(viewModel);
        }
 static void DetailProcessCustomBinding(int userId, ReportAlert_ParamModel param, GridViewModel viewModel)
 {
     viewModel.ProcessCustomBinding(
         new GridViewCustomBindingGetDataRowCountHandler(args =>
     {
         ReportAlertDetail__List_Model.GetDataRowCount(args, userId, param);
     }),
         new GridViewCustomBindingGetDataHandler(args =>
     {
         ReportAlertDetail__List_Model.GetData(args, userId, param);
     })
         );
 }
        // Filtering

        public ActionResult ListDetailFiltering(GridViewFilteringState filteringState)
        {
            int userId = (int)Session["userId"];

            int Alert_Id = 0;

            if (Request["Alert_Id"] == null)
            {
                Alert_Id = 0;
            }
            else
            {
                Alert_Id = int.Parse(Request["Alert_Id"]);
            }

            //--------------------------------
            if (Alert_Id == 0)
            {
                string DXCallbackName = "";

                if (Request["DXCallbackName"] != null)
                {
                    DXCallbackName = Request["DXCallbackName"];

                    if (DXCallbackName.StartsWith("gvDetail|"))
                    {
                        var arr = DXCallbackName.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                        if (arr.Length > 1)
                        {
                            Alert_Id = int.Parse(arr[1]);
                        }
                    }
                }
            }

            // Alert_Id = 2;
            ViewBag.Alert_Id = Alert_Id;

            var       param     = GetParam(Alert_Id);
            DataTable dataTable = ReportAlertDetail__List_Model.GetDataTable(userId, param);

            ViewBag.dataTable = dataTable;

            var viewModel = GetListDetailModel(Alert_Id, userId);

            viewModel.ApplyFilteringState(filteringState);
            DetailProcessCustomBinding(userId, param, viewModel);

            return(PartialView(VIEW_LIST_DETAIL_PARTIAL, viewModel));
        }
        // Paging
        public ActionResult ListDetailPaging(GridViewPagerState pager)
        {
            int userId = (int)Session["userId"];

            var Alert_Id = int.Parse(Request["Alert_Id"]);

            var       param     = GetParam(Alert_Id);
            DataTable dataTable = ReportAlertDetail__List_Model.GetDataTable(userId, param);

            ViewBag.dataTable = dataTable;

            var viewModel = GetListDetailModel(Alert_Id, userId);

            viewModel.ApplyPagingState(pager);
            DetailProcessCustomBinding(userId, param, viewModel);

            return(PartialView(VIEW_LIST_DETAIL_PARTIAL, viewModel));
        }
        public ActionResult ExportTo()
        {
            int userId = (int)Session["userId"];

            var hidden_CpGvFind_FilterExpression = Request["hidden_CpGvFind_FilterExpression"];
            var hidden_CpGvFind_SortExpression   = Request["hidden_CpGvFind_SortExpression"];
            var hidden_CpGvFind_PageIndex        = Request["hidden_CpGvFind_PageIndex"];
            var hidden_CpGvFind_PageSize         = Request["hidden_CpGvFind_PageSize"];


            int Alert_Id = int.Parse(Request["Alert_Id"]);

            var param = GetParam(Alert_Id);


            IEnumerable items = ReportAlertDetail__List_Model.GetDataList(userId, param, hidden_CpGvFind_FilterExpression, hidden_CpGvFind_SortExpression, Convert.ToInt32(hidden_CpGvFind_PageIndex), Convert.ToInt32(hidden_CpGvFind_PageSize));

            return(GridViewExportHelper.ExportTypes["XLS"].Method(GridViewExportHelper.ExportGridViewSettings(userId, param), items));
        }