I'm having serious problems loading data into a grid, i've encountered a number of problems, which i´ve beem solving through different approachs, and now i dont found any issue, but i still cant load the data into the grid. The data is filtered in a external comboBox (rdpInvestigado r).
I use a n-layer architecture with ASP Object Data Source. i'm sharing the critical part of the code not to overextend the post.
//HTML
I'm having serious problems loading data into a grid, i've encountered a number of problems, which i´ve beem solving through different approachs, and now i dont found any issue, but i still cant load the data into the grid. The data is filtered in a external comboBox (rdpInvestigado r).
I use a n-layer architecture with ASP Object Data Source. i'm sharing the critical part of the code not to overextend the post
//HTML
<telerik:RadCom boBox ID="rdpInvestig ador" runat="server" EmptyMessage=" - escolher - " AutoPostBack="t rue" EnableLoadOnDem and="true" </telerik:RadComb oBox>
<telerik:RadBut ton ID="ButtonPerfo rmSearch" Text="Aceder à listagem de timesheets" ValidationGroup ="search" OnClick="Button PerformSearch_C lick"
runat="server" CssClass="btn btn-mini" Width="50%" ButtonType="Tog gleButton"
CausesValidatio n="true"></telerik:RadButt on>
<asp:LinkButt on ID="lkbPesquisa r" runat="server" CssClass="btn btn-mini" OnClick="lkbPes quisar_Click">p esquisar</asp:LinkButton>
<asp:ObjectData Source ID="DataSourceT imesheets" runat="server" EnablePaging="T rue" OnSelecting="Da taSourceTimeshe ets_Selecting" SortParameterNa me="sortType" TypeName="UMinh o.GestaoProject os.BLL.BLLLista gemTimesheets"
SelectMethod="G etList" SelectCountMeth od="GetListCoun t">
<SelectParamete rs>
<asp:ControlPar ameter ControlID="rdpI nvestigador" Name="IDRecurso Humano" PropertyName="S electedValue" DefaultValue="" Type="Int32" />
<asp:Paramete r Name="ID" Type="Int32" />
<asp:Paramete r Name="DataEnvio " Type="datetime" />
<asp:Paramete r Name="IDEstadoT imesheet" Type="Int32" />
<asp:Paramete r Name="Assinatur aTimesheet" Type="string" />
<asp:Paramete r Name="Observaçõ es" Type="string" />
<asp:Paramete r Name="Ficheiro" Type="string" />
<asp:Paramete r Name="FileTipo" Type="string" />
<asp:Paramete r Name="FileConte nt" Type="Byte" />
<asp:Paramete r Name="login" Type="String" />
</SelectParameter s>
</asp:ObjectDataS ource>
//BLL method, used in object data source (wanted data that not load is "listagem timesheet"
public List<ListagemTi mesheet> GetList(int? ID, int? IDRecursoHumano , DateTime? DataEnvio, string AssinaturaTimes heet,int? IDEstadoTimeshe et, string Observações, string Ficheiro, string FileTipo, byte FileContent, string sortType, int maximumRows, int startRowIndex, string login)
{
using (GestaoProjecto sEntities db = new GestaoProjectos Entities())
{
var entities = from e in db.ListagemTime sheets
select e;
entities = GetQueryList(en tities, ID, IDRecursoHumano , DataEnvio, AssinaturaTimes heet, IDEstadoTimeshe et, Observações, Ficheiro, FileTipo, FileContent, login);
entities = GetListSort(ent ities.AsQueryab le(), sortType);
entities.Skip(s tartRowIndex).T ake(maximumRows );
return entities.ToList ();
}
}
public int GetListCount(in t? ID, int? IDRecursoHumano , DateTime? DataEnvio, string AssinaturaTimes heet,int? IDEstadoTimeshe et, string Observações, string Ficheiro, string FileTipo, byte FileContent, string login)
{
using (GestaoProjecto sEntities db = new GestaoProjectos Entities())
{
var entities = from e in db.ListagemTime sheets
select e;
return GetQueryList(en tities, ID, IDRecursoHumano , DataEnvio, AssinaturaTimes heet, IDEstadoTimeshe et, Observações, Ficheiro, FileTipo, FileContent, login).Count();
}
}
// Cs class, with 2 approachs managed by the 2 buttons
After many tries, i have no ideia about what's wrong, does anyone familiar with this?
I use a n-layer architecture with ASP Object Data Source. i'm sharing the critical part of the code not to overextend the post.
//HTML
Code:
<telerik:RadComboBox ID="rdpInvestigador" runat="server" EmptyMessage=" - escolher - " AutoPostBack="true" EnableLoadOnDemand="true" </telerik:RadComboBox>
<telerik:RadButton ID="ButtonPerformSearch" Text="Aceder à listagem de timesheets" ValidationGroup="search" OnClick="ButtonPerformSearch_Click"
runat="server" CssClass="btn btn-mini" Width="50%" ButtonType="ToggleButton"
CausesValidation="true"></telerik:RadButton>
<asp:LinkButton ID="lkbPesquisar" runat="server" CssClass="btn btn-mini" OnClick="lkbPesquisar_Click">pesquisar</asp:LinkButton>
<asp:ObjectDataSource ID="DataSourceTimesheets" runat="server" EnablePaging="True" OnSelecting="DataSourceTimesheets_Selecting" SortParameterName="sortType" TypeName="UMinho.GestaoProjectos.BLL.BLLListagemTimesheets"
SelectMethod="GetList" SelectCountMethod="GetListCount">
<SelectParameters>
<asp:ControlParameter ControlID="rdpInvestigador" Name="IDRecursoHumano" PropertyName="SelectedValue" DefaultValue="" Type="Int32" />
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="DataEnvio" Type="datetime" />
<asp:Parameter Name="IDEstadoTimesheet" Type="Int32" />
<asp:Parameter Name="AssinaturaTimesheet" Type="string" />
<asp:Parameter Name="Observações" Type="string" />
<asp:Parameter Name="Ficheiro" Type="string" />
<asp:Parameter Name="FileTipo" Type="string" />
<asp:Parameter Name="FileContent" Type="Byte" />
<asp:Parameter Name="login" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
I use a n-layer architecture with ASP Object Data Source. i'm sharing the critical part of the code not to overextend the post
//HTML
<telerik:RadCom boBox ID="rdpInvestig ador" runat="server" EmptyMessage=" - escolher - " AutoPostBack="t rue" EnableLoadOnDem and="true" </telerik:RadComb oBox>
<telerik:RadBut ton ID="ButtonPerfo rmSearch" Text="Aceder à listagem de timesheets" ValidationGroup ="search" OnClick="Button PerformSearch_C lick"
runat="server" CssClass="btn btn-mini" Width="50%" ButtonType="Tog gleButton"
CausesValidatio n="true"></telerik:RadButt on>
<asp:LinkButt on ID="lkbPesquisa r" runat="server" CssClass="btn btn-mini" OnClick="lkbPes quisar_Click">p esquisar</asp:LinkButton>
<asp:ObjectData Source ID="DataSourceT imesheets" runat="server" EnablePaging="T rue" OnSelecting="Da taSourceTimeshe ets_Selecting" SortParameterNa me="sortType" TypeName="UMinh o.GestaoProject os.BLL.BLLLista gemTimesheets"
SelectMethod="G etList" SelectCountMeth od="GetListCoun t">
<SelectParamete rs>
<asp:ControlPar ameter ControlID="rdpI nvestigador" Name="IDRecurso Humano" PropertyName="S electedValue" DefaultValue="" Type="Int32" />
<asp:Paramete r Name="ID" Type="Int32" />
<asp:Paramete r Name="DataEnvio " Type="datetime" />
<asp:Paramete r Name="IDEstadoT imesheet" Type="Int32" />
<asp:Paramete r Name="Assinatur aTimesheet" Type="string" />
<asp:Paramete r Name="Observaçõ es" Type="string" />
<asp:Paramete r Name="Ficheiro" Type="string" />
<asp:Paramete r Name="FileTipo" Type="string" />
<asp:Paramete r Name="FileConte nt" Type="Byte" />
<asp:Paramete r Name="login" Type="String" />
</SelectParameter s>
</asp:ObjectDataS ource>
//BLL method, used in object data source (wanted data that not load is "listagem timesheet"
public List<ListagemTi mesheet> GetList(int? ID, int? IDRecursoHumano , DateTime? DataEnvio, string AssinaturaTimes heet,int? IDEstadoTimeshe et, string Observações, string Ficheiro, string FileTipo, byte FileContent, string sortType, int maximumRows, int startRowIndex, string login)
{
using (GestaoProjecto sEntities db = new GestaoProjectos Entities())
{
var entities = from e in db.ListagemTime sheets
select e;
entities = GetQueryList(en tities, ID, IDRecursoHumano , DataEnvio, AssinaturaTimes heet, IDEstadoTimeshe et, Observações, Ficheiro, FileTipo, FileContent, login);
entities = GetListSort(ent ities.AsQueryab le(), sortType);
entities.Skip(s tartRowIndex).T ake(maximumRows );
return entities.ToList ();
}
}
public int GetListCount(in t? ID, int? IDRecursoHumano , DateTime? DataEnvio, string AssinaturaTimes heet,int? IDEstadoTimeshe et, string Observações, string Ficheiro, string FileTipo, byte FileContent, string login)
{
using (GestaoProjecto sEntities db = new GestaoProjectos Entities())
{
var entities = from e in db.ListagemTime sheets
select e;
return GetQueryList(en tities, ID, IDRecursoHumano , DataEnvio, AssinaturaTimes heet, IDEstadoTimeshe et, Observações, Ficheiro, FileTipo, FileContent, login).Count();
}
}
// Cs class, with 2 approachs managed by the 2 buttons
Code:
public Utils.FormMode FormMode
{
get { return ViewState["___formmode"] == null ? Utils.FormMode.CreateMode : (Utils.FormMode)ViewState["___formmode"]; }
set { ViewState["___formmode"] = value; }
}
//ID
public int ID
{
get { return ViewState["___entitypk"] == null ? 0 : (int)ViewState["___entitypk"]; }
set { ViewState["___entitypk"] = value; }
}
BLLListagemTimesheets listagembll = new BLLListagemTimesheets();
BLLPesquisarTimesheet pesquisarbll = new BLLPesquisarTimesheet();
BLLTemplateFile templatebll = new BLLTemplateFile();
protected void Page_Load(object sender, EventArgs e)
{
//Get reference to AjaxManager (from Master)
var manager = RadAjaxManager.GetCurrent(Page);
//Create a new delegate to handle the AjaxRequest event
//manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(RadAjaxManager1_AjaxRequest);
//Add your ajax settings programmatically (with ref to Master manager)
manager.AjaxSettings.AddAjaxSetting(manager, gvTimesheets);
if (Request.QueryString["ID"] != null)
{
if (Request.QueryString["action"] != "TemplateFileDownload")
DownloadFile(Convert.ToInt32(Request.QueryString["ID"]));
else
ExportFile_Click();
}
else
{
if (!Page.IsPostBack)
{
RecursoHumano rh = new RecursoHumano();
rdpUnidade.DataValueField = "ID";
rdpUnidade.DataTextField = "NomeUnidade";
rdpUnidade.DataSource = new BLLUnidades().GetAllCentrosInvestigacao();
rdpUnidade.DataBind();
//rdpUnidade.ClearSelection();
// Sem filtros (Nao consigo utilizar o AjaxManager!) // new BLLProjectoEquipa().GetAll()
rdpInvestigador.DataSource = new BLLRecursoHumano().GetAll();
rdpInvestigador.DataValueField = "ID";
rdpInvestigador.DataTextField = "Nome";
rdpInvestigador.DataBind();
rdpInvestigador.Items.Insert(0, new RadComboBoxItem("", ""));
}
}
//2 approaches, 1st one
protected void ButtonPerformSearch_Click(object sender, EventArgs e)
{
gvTimesheets.Rebind();
}
protected void rdpInvestigador_SelectedIndexChanged(object sender, EventArgs e)
{
gvTimesheets.DataSource = rdpInvestigador.SelectedValue;
gvTimesheets.Rebind();
}
//Second
protected void lkbPesquisar_Click(object sender, EventArgs e)
{
BindInvestigadores();
}
private void BindInvestigadores() // gvTimesheets.DataBind(); nao dá exception mas nao carrega
{
gvTimesheets.DataBind();
}