public DataView loadData(ListInfo info, DBManager db, Repeater repeater)
    {
        //DBFilter filter = binding.createFilter();
        DBFilter filter = new DBFilter();
        DateTime m_datevalue;

        if (DateTime.TryParse(AsAtDate.Value, out m_datevalue))
        {
            filter.add(new Match("AsAtDate", m_datevalue));
        }

        if (info != null && info.orderby != null && !info.orderby.Equals(""))
        {
            filter.add(info.orderby, info.order);
        }

        string select = "c.BatchID, c.AsAtDate, CASE c.DeferredBatch WHEN 1 THEN 'Yes' ELSE 'No' END as DeferredBatchDesc, " +
                        "CASE c.Status WHEN 'A' THEN 'Applied' " +
                        "WHEN 'C' THEN 'Confirmed' " +
                        "ELSE 'Open' END AS StatusDesc, " +
                        "COUNT(d.EmpID) AS EmpCount ";
        string from = "from PS_SalaryIncrementBatch c LEFT JOIN PS_SalaryIncrementBatchDetail d ON " +
                      "c.BatchID = d.BatchID ";

        filter.addGroupBy("c.BatchID, c.AsAtDate, c.DeferredBatch, c.Status");

        DataTable table = AppUtils.runSelectSQL(select, from, filter, dbConn);

        //DataTable table = WebUtils.GetDataTableFromSelectQueryWithFilter(dbConn, select, from, filter, info);

        view = new DataView(table);

        ListFooter.Refresh();

        if (repeater != null)
        {
            repeater.DataSource = view;
            repeater.DataBind();
        }
        return(view);
    }