Sep 21, 2009, 7:56 PM
Grid or Store won't refresh with new data!
Hi,
I have grid on my page and datefield inside a toolbar. on page load, I give today's date parameter and data displays in the grid. But if I select a date to view other data, the grid won't display any other data. Do you know what is the problem?
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ObjectDataSource ID="dsnewsheading" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="DisplayNews"
TypeName="NewsBLL.NewsFeeder">
<SelectParameters>
<asp:Parameter Name="categoryid" Type="Int32" />
<asp:Parameter Name="languageid" Type="Int32" />
<asp:Parameter Name="newsdate" Type="DateTime" />
<asp:Parameter Name="profilename" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<ext:Store ID="Storenewsheading" runat="server" DataSourceID="dsnewsheading">
<Reader>
<ext:JsonReader ReaderID="newsid">
<Fields>
<ext:RecordField Name="newsid"></ext:RecordField>
<ext:RecordField Name="Title"></ext:RecordField>
<ext:RecordField Name="News"></ext:RecordField>
<ext:RecordField Name="Newsdate" ></ext:RecordField>
<ext:RecordField Name="Visible"></ext:RecordField>
<ext:RecordField Name="newsidrelated"></ext:RecordField>
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</ContentTemplate>
</asp:UpdatePanel>
<ext:ViewPort ID="ViewPort1" runat="server">
<Body>
<ext:FitLayout ID="FitLayout1" runat="server">
<ext:GridPanel ID="grdheading" runat="server" StoreID="Storenewsheading">
<ColumnModel runat="server">
<Columns>
<ext:RowNumbererColumn></ext:RowNumbererColumn>
<ext:Column ColumnID="clnewsid" Header="ID" DataIndex="newsid" Hidden="true"></ext:Column>
<ext:Column ColumnID="cltitle" Header="Title" DataIndex="Title" Sortable="true" Width="400"></ext:Column>
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GridView1" runat="server" ForceFit="true" />
</View>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" SingleSelect="true" runat="server" />
</SelectionModel>
<TopBar>
<ext:Toolbar runat="server" ID="tlbgridnews">
<Items>
<ext:ToolbarButton runat="server" ID="btnrefresh" Text="Refresh" Icon="ArrowRefresh">
<AjaxEvents>
<Click OnEvent="btnrefresh_Click">
<EventMask ShowMask="true" Msg="Please wait..." />
</Click>
</AjaxEvents>
</ext:ToolbarButton>
<ext:ToolbarSeparator runat="server"></ext:ToolbarSeparator>
<ext:DateField ID="dtfldnews" runat="server" AltFormats="d/mm/yyyy" Width="120" EmptyText="Change a date!">
</ext:DateField>
<ext:ToolbarSeparator runat="server" ></ext:ToolbarSeparator>
<ext:ToolbarButton runat="server" ID="btnconfirmnewslink" Text="Confirm" Icon="Tick">
<AjaxEvents>
<Click OnEvent="btnconfrimnewslink_Click">
<ExtraParams>
<ext:Parameter Name="Values" Value="Ext.encode(#{grdheading}.getRowsValues())" Mode="Raw" />
</ExtraParams>
</Click>
</AjaxEvents>
</ext:ToolbarButton>
<ext:ToolbarSeparator runat="server"></ext:ToolbarSeparator>
<ext:ToolbarButton runat="server" ID="btncancelnewslink" Text="Cancel" Icon="Cancel">
<AjaxEvents>
<Click OnEvent="btncancelnewslink_Click"></Click>
</AjaxEvents>
</ext:ToolbarButton>
</Items>
</ext:Toolbar>
</TopBar>
</ext:GridPanel>
</ext:FitLayout>
</Body>
</ext:ViewPort>
protected void Page_Load(object sender, EventArgs e)
{
// retrieves query string values
string cat = Page.Request.QueryString["cat"];
string lid = Page.Request.QueryString["lid"];
loadnewsprofile(User.Identity.Name);
}
private void loadnewsprofile(string name)
{
string cat = Page.Request.QueryString["cat"];
string lid = Page.Request.QueryString["lid"];
this.dsnewsheading.SelectParameters[0].DefaultValue = cat;
this.dsnewsheading.SelectParameters[1].DefaultValue = lid;
this.dsnewsheading.SelectParameters[2].DefaultValue = DateTime.Today.Date.ToString();
this.dsnewsheading.SelectParameters[3].DefaultValue = name;
this.Storenewsheading.DataBind();
}
private void reloadnewsprofile(string name)
{
string cat = Page.Request.QueryString["cat"];
string lid = Page.Request.QueryString["lid"];
this.dsnewsheading.SelectParameters[0].DefaultValue = cat;
this.dsnewsheading.SelectParameters[1].DefaultValue = lid;
if (this.dtfldnews.SelectedValue.ToString() != "0")
{
this.dsnewsheading.SelectParameters[2].DefaultValue = this.dtfldnews.SelectedDate.ToString();
}
else
{
this.dsnewsheading.SelectParameters[2].DefaultValue = DateTime.Today.Date.ToString();
}
this.dsnewsheading.SelectParameters[3].DefaultValue = name;
this.Storenewsheading.DataBind();
}
protected void btnrefresh_Click(object sender, Coolite.Ext.Web.AjaxEventArgs e)
{
reloadnewsprofile(User.Identity.Name);
}
protected void btnconfrimnewslink_Click(object sender, Coolite.Ext.Web.AjaxEventArgs e)
{
Coolite.Ext.Web.RowSelectionModel ttt = this.grdheading.SelectionModel.Primary as RowSelectionModel;
if(ttt.SelectedIndex.ToString() != "-1")
{
Session["newsrelated"] = 1;
}
else
{
Ext.Msg.Show(new MessageBox.Config
{
Buttons= MessageBox.Button.OK,
Icon = MessageBox.Icon.ERROR,
Title = "test",
Message = "Please select a record!"
}
);
}
}
protected void btncancelnewslink_Click(object sender, Coolite.Ext.Web.AjaxEventArgs e)
{
Session["newsrelated"] = 0;
}
}
Thanks for your help in advance,Kamal