the problem is that the datagrid_needdatasource is not firing at the right time
it only fires if i go to the 3rd tab (grid is on the second tab),
here is the code i am using, simple example.
<
telerik:RadTabStrip ID="tsRes" runat="server" SelectedIndex="0" AutoPostBack="true"
MultiPageID="mpRes">
<Tabs>
<telerik:RadTab Text="Step 1" Value="1">
</telerik:RadTab>
<telerik:RadTab Text="Step 2" Value="2" Enabled="false">
</telerik:RadTab>
<telerik:RadTab Text="Step 3" Value="3" Enabled="false">
</telerik:RadTab>
<telerik:RadTab Text="Step 4" Value="4" Enabled="false">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage runat="server" ID="mpRes" RenderSelectedPageOnly="true" SelectedIndex="0">
<telerik:RadPageView ID="pvStep1" runat="server">
Step 1
</telerik:RadPageView>
<telerik:RadPageView ID="pvStep2" runat="server">
<telerik:RadGrid ID="dgCustomers" runat="server" AutoGenerateColumns="false" OnNeedDataSource="dgCustomers_NeedDataSource">
<MasterTableView>
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<%
#Eval("Text") %>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadPageView>
<telerik:RadPageView ID="pvStep3" runat="server">
Step 3
</telerik:RadPageView>
<telerik:RadPageView ID="pvStep4" runat="server">
Step 4
</telerik:RadPageView>
</telerik:RadMultiPage>
<asp:Button ID="btnNext" runat="server" Text="Next" OnClick="btnNext_Click" /></telerik:RadAjaxPanel>
{
if (Page.IsValid)
{
RadTab selected = tsRes.SelectedTab;
int val = Convert.ToInt32(selected.Value);
//change the caption
if (val + 1 == tsRes.Tabs.Count)
{
btnNext.Text =
"Finish";
}
if (val < tsRes.Tabs.Count)
{
//get the next tab
RadTab nextTab = tsRes.FindTabByValue((val + 1).ToString());
nextTab.Enabled = nextTab.Selected =
true;
mpRes.SelectedIndex = nextTab.Index;
}
else
{
int save = 0;
}
}
}
protected void dgCustomers_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
dgCustomers.DataSource = GetCustomers();
}
private ListItemCollection GetCustomers()
{
ListItemCollection custs = new ListItemCollection();
for(int i =1;i<10;i++)
{
ListItem li = new ListItem("Customer " + i.ToString());
custs.Add(li);
}
return custs;
}