472,143 Members | 1,578 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,143 software developers and data experts.

Load data into grid

I'm having huge problems loading data into a grid. i've encountered a number of problems, which i´ve been solving through different approachs, and now i dont have any exception, but i still cant load the data into the grid.

The data is filtered according to "rdpInvestigador" external selectedValue, and should load in the grid accordingly.

I use a n-layer architecture and ASP ObjectDataSource to Bind DB.

I will put the main parts of the code, in order to be possible to understand and find the issue. I will also attach an image with the appearence of the system.

I believe the problem is on CS code, but it could also be on the BLL "GetList" method.

// HTML

Expand|Select|Wrap|Line Numbers
  1. <script type="text/javascript">
  2.   function refreshGrid(arg) {
  3.   var radManager = $find('<%=
  4.   RadAjaxManager.GetCurrent(Page).ClientID %>');
  5.   if (!arg) {
  6.    radManager.ajaxRequest("Rebind");
  7.   }
  8.     else {
  9.    radManager.ajaxRequest(arg);
  10.             }
  11.    }
  12.  
  13. function myUserControlClickHandler() {
  14. $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("FromUserControl");                       }
  15.  </script>
  16.  
  17. <telerik:RadComboBox ID="rdpInvestigador" </telerik:RadComboBox>
  18.  
  19. <telerik:RadButton ID="ButtonPerformSearch" Text="Aceder à listagem de timesheets" ValidationGroup="search" OnClick="ButtonPerformSearch_Click"
  20.                     runat="server"  CssClass="btn btn-mini"  Width="50%" ButtonType="ToggleButton"
  21.                    CausesValidation="true"></telerik:RadButton>
  22.  <asp:LinkButton ID="lkbPesquisar" runat="server" CssClass="btn btn-mini" OnClick="lkbPesquisar_Click">pesquisar</asp:LinkButton>
  23.  
  24. <telerik:RadGrid ID="gvTimesheets" DataSourceID="DataSourceTimesheets" OnSelectedIndexChanged="rdpInvestigador_SelectedIndexChanged" OnItemCommand="gvTimesheets_ItemCommand"
  25.  
  26. <asp:ObjectDataSource ID="DataSourceTimesheets" runat="server" EnablePaging="True" OnSelecting="DataSourceTimesheets_Selecting" SortParameterName="sortType" TypeName="UMinho.GestaoProjectos.BLL.BLLListagemTimesheets"
  27.                    SelectMethod="GetList" SelectCountMethod="GetListCount">
  28.                     <SelectParameters>
  29.                          <asp:ControlParameter ControlID="rdpInvestigador" Name="IDRecursoHumano" PropertyName="SelectedValue" DefaultValue="" Type="Int32" />
  30.                          <asp:Parameter  Name="ID"  Type="Int32" />
  31.                         <asp:Parameter  Name="DataEnvio"  Type="datetime"  />
  32.                          <asp:Parameter  Name="IDEstadoTimesheet"  Type="Int32" />
  33.                          <asp:Parameter  Name="AssinaturaTimesheet"  Type="string" />
  34.                           <asp:Parameter  Name="Observações"  Type="string" />
  35.                          <asp:Parameter  Name="Ficheiro"  Type="string" />
  36.                           <asp:Parameter  Name="FileTipo"  Type="string" />
  37.                          <asp:Parameter  Name="FileContent" Type="Byte"   />
  38.                         <asp:Parameter Name="login" Type="String" />
  39.  
  40.                     </SelectParameters>
  41.                 </asp:ObjectDataSource>
//BLL method, used in object data source (wanted data that not load is "listagem timesheet"

Expand|Select|Wrap|Line Numbers
  1. public List<ListagemTimesheet> GetList(int? ID, int? IDRecursoHumano, DateTime? DataEnvio, string AssinaturaTimesheet,int? IDEstadoTimesheet, string Observações, string Ficheiro, string FileTipo, byte FileContent, string sortType, int maximumRows, int startRowIndex, string login)
  2.   {
  3.       using (GestaoProjectosEntities db = new GestaoProjectosEntities())
  4.       {
  5.           var entities = from e in db.ListagemTimesheets
  6.                          select e;
  7.  
  8.           entities = GetQueryList(entities, ID, IDRecursoHumano, DataEnvio, AssinaturaTimesheet, IDEstadoTimesheet, Observações, Ficheiro, FileTipo, FileContent, login);
  9.  
  10.           entities = GetListSort(entities.AsQueryable(), sortType);
  11.  
  12.           entities.Skip(startRowIndex).Take(maximumRows);
  13.  
  14.           return entities.ToList();
  15.       }
  16.   }
  17.  
  18.        public int GetListCount(int? ID, int? IDRecursoHumano, DateTime? DataEnvio, string AssinaturaTimesheet,int? IDEstadoTimesheet, string Observações, string Ficheiro, string FileTipo, byte FileContent, string login)
  19.        {
  20.            using (GestaoProjectosEntities db = new GestaoProjectosEntities())
  21.            {
  22.                var entities = from e in db.ListagemTimesheets
  23.                               select e;
  24.  
  25.                return GetQueryList(entities, ID, IDRecursoHumano, DataEnvio, AssinaturaTimesheet, IDEstadoTimesheet, Observações, Ficheiro, FileTipo, FileContent, login).Count();
  26.            }
  27.        }
// Cs class, with 3 approachs: 1-FormsMode; 2-OnSelectedIndex(); 3-DataBind()

Expand|Select|Wrap|Line Numbers
  1. public Utils.FormMode FormMode
  2.     {
  3.         get { return ViewState["___formmode"] == null ? Utils.FormMode.CreateMode : (Utils.FormMode)ViewState["___formmode"]; }
  4.  
  5.         set { ViewState["___formmode"] = value; }
  6.     }
  7.     //ID
  8.     public int ID
  9.     {
  10.         get { return ViewState["___entitypk"] == null ? 0 : (int)ViewState["___entitypk"]; }
  11.  
  12.         set { ViewState["___entitypk"] = value; }
  13.     }
  14.  
  15.     BLLListagemTimesheets listagembll = new BLLListagemTimesheets();
  16.  
  17.     protected void Page_Load(object sender, EventArgs e)
  18.     {
  19.         //Get reference to AjaxManager (from Master)
  20.         var manager = RadAjaxManager.GetCurrent(Page);
  21.  
  22.         //Create a new delegate to handle the AjaxRequest event
  23.         //manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(RadAjaxManager1_AjaxRequest);
  24.  
  25.         //Add your ajax settings programmatically (with ref to Master manager)
  26.         manager.AjaxSettings.AddAjaxSetting(manager, gvTimesheets);
  27.  
  28.         if (Request.QueryString["ID"] != null)
  29.         {
  30.             if (Request.QueryString["action"] != "TemplateFileDownload")
  31.                 DownloadFile(Convert.ToInt32(Request.QueryString["ID"]));
  32.             else
  33.                 ExportFile_Click();
  34.         }
  35.  
  36.         else
  37.         {
  38.             if (!Page.IsPostBack)
  39.             {
  40.                 RecursoHumano rh = new RecursoHumano();
  41.  
  42.                 rdpInvestigador.DataSource = new BLLRecursoHumano().GetAll();
  43.                 rdpInvestigador.DataValueField = "ID";
  44.                 rdpInvestigador.DataTextField = "Nome";
  45.                 rdpInvestigador.DataBind();
  46.                 rdpInvestigador.Items.Insert(0, new RadComboBoxItem("", ""));
  47.  
  48.             }
  49.         }
  50.       //2 approaches, 1st one
  51.  
  52.       protected void ButtonPerformSearch_Click(object sender, EventArgs e)
  53.     {
  54.         gvTimesheets.Rebind();
  55.     }
  56.  
  57.     protected void rdpInvestigador_SelectedIndexChanged(object sender, EventArgs e)
  58.     {
  59.         gvTimesheets.DataSource = rdpInvestigador.SelectedValue;
  60.         gvTimesheets.Rebind();
  61.     }
  62.       //Second
  63.  
  64.      protected void lkbPesquisar_Click(object sender, EventArgs e)
  65.     {
  66.         BindInvestigadores();
  67.     }
  68.  
  69.      private void BindInvestigadores() // gvTimesheets.DataBind(); nao dá exception mas nao carrega
  70.     {
  71.  
  72.         gvTimesheets.DataBind();
  73.     }

Oct 19 '21 #1
0 8943

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

3 posts views Thread by Snake | last post: by
1 post views Thread by atif | last post: by
6 posts views Thread by Tejpal Garhwal | last post: by
reply views Thread by Gian Paolo | last post: by
reply views Thread by sumaira_it | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.