But the RadRotator is not getting updated with next records using RadAjaxManager. How can I update Radrotator CoverFlowMode with RadAjaxManager.
Below is the code
aspx file code
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function ClientClicked() {
$find(
<%= rmStudentList.ClientID %>").ajaxRequest("NEXT");
return false;
}
</script>
< /telerik:RadCodeBlock >
<div class="mainDiv">
<asp:Panel ID="RotatorWrapper" runat="server" CssClass="rotWrapper">
<telerik:RadRotator ID="RadRotator1" runat="server" Width="748px" ItemWidth="150"
ScrollDirection="Left, Right" Height="233px" ItemHeight="113" ScrollDuration="500"
FrameDuration="2000" PauseOnMouseOver="false" RotatorType="CoverFlow" InitialItemIndex="4"
OnClientItemShown="OnClientItemShown" OnClientItemClicked="OnClientItemClicked"
CssClass="RemoveRotatorBorder">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# GetImagePath(Eval("ImagePath")) %>'
AlternateText='<%# Eval("LastName") %>' />
</ItemTemplate>
</telerik:RadRotator>
<input id="Button1" type="button" runat="server" value="Next" onclick="ClientClicked(); return false;" />
</asp:Panel>
</div>
cs file
protected void rmStudentList_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
ConfigureRadRotator(RotatorType.CoverFlowButtons);
}
Hi.
I’m new at MVC and I have a problem.
The problem is that a sub grid does not show any results.
Here is my view code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<LogReaderTest.Models.LogModel>" %><asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> Index</asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>Index</h2> <div class="editor-label"> <% Html.BeginForm("Search", "Home", FormMethod.Post); %> Start Date<br /> <%=Html.TextBox("StartDate", ViewData["StartDate"], new { style = "width:80px" })%> <br /> <br /> End Date<br /> <%=Html.TextBox("EndDate", ViewData["EndDate"], new { style = "width:80px" })%> <br /> <br /> <input type="submit" name="submitButton" value="Search" /> <br /> <br /> <%if (Model != null) { %> <%= Html.Telerik().Grid(Model.ToDataView) .Name("Trades") .Columns(columns => { columns.Bound("Id").Title("Ticket").Width(80); columns.Bound("DateTime").Width(170); columns.Bound("Type").Width(230); columns.Bound("Message"); }) .ClientEvents(events=> events.OnRowDataBound("trades_onRowDataBound")) .DetailView(details => details.ClientTemplate( Html.Telerik().Grid(Model.ToDataView) .Name("Orders_<#= Id #>") .Columns(columns => { columns.Bound("Message"); }) .DataBinding(dataBinding => dataBinding.Ajax() .Select("_Orders", "Home", new { ticket = "<#= Id #>"})) .Pageable() .Sortable() .ToHtmlString() )) .DataBinding(dataBinding => dataBinding.Server().Select("_Trades", "Home")) .Pageable(paging => paging.PageSize(60)) .Scrollable(scrolling => scrolling.Height(1200)) .Sortable() %> <% } else if (Model == null) { %> <% } %> <script type="text/javascript"> function expandFirstRow(grid, row) { if (grid.$rows().index(row) == 0) { grid.expandRow(row); } } function trades_onRowDataBound(e) { var grid = $(this).data('tGrid'); expandFirstRow(grid, e.row); } </script></asp:Content>
The LogModel class is simple class than inherits : IEnumerator, IEnumerable.
Contains ArrayList, getters, setters and IEnumerator, IEnumerable methods
here is my controller:
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["StartDate"] = new DateTime(2011, 10, 12).ToString("dd/MM/yyyy");
ViewData["EndDate"] = new DateTime(2011, 10, 13).ToString("dd/MM/yyyy");
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Search(FormCollection formValues)
{
var txbStart = formValues["StartDate"];
var txbEnd = formValues["EndDate"];
ViewData["StartDate"] = txbStart;
ViewData["EndDate"] = txbEnd;
LogReaderTest.Models.TradesLogModel tlm = new Models.TradesLogModel(new DateTime(2011, 10, 12), new DateTime(2011, 10, 13));
tlm.SearchByLogin(78);
return View("Index", tlm);
}
public ActionResult Home()
{
return View();
}
[GridAction]
public ActionResult _Trades()
{
LogReaderTest.Models.TradesLogModel tlm = new Models.TradesLogModel(new DateTime(2011, 10, 12), new DateTime(2011, 10, 13));
tlm.SearchByLogin(43);
return View("Index", tlm);
}
[GridAction]
public ActionResult _Orders(int id)
{
LogReaderTest.Models.OrdersLogModel olm = new Models.OrdersLogModel(new DateTime(2011, 10, 12), new DateTime(2011, 10, 13));
olm.SearchLogBy_Mt_Id(id);
return View("Index", olm);
}
}
OrdersLogModel and TradesLogModel are inherid from LogModel
ToDataView method
public DataView ToDataView
{
get
{
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("DateTime", typeof(string));
dt.Columns.Add("Ms", typeof(int));
dt.Columns.Add("Type", typeof(string));
dt.Columns.Add("Message", typeof(string));
foreach (LogReaderTest.Models.LogLine d in log)
{
dt.Rows.Add(d.Id, d.Datetime.ToString("dd/MM/yyyy HH:mm:ss.fff"), d.Milliseconds, d.Type, d.Message);
}
DataView dv = new DataView(dt);
return dv;
}
}
Best regards Paul.
<EventOn:EventManagerGridTemplateColumn DataField="StatusType" UniqueName="StatusType" InterfaceMessageType="EventManagerGridHeaderStatusType" SortExpression="StatusType"> <HeaderStyle Width="70px" /> <FilterTemplate> <EventOn:EventManagerTypeFilterDropDown ID="ddStatusType" runat="server" EnumType="StatusType" CssClass="FormDropDown" Width="70px" DataValueField="StatusType" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("StatusType").CurrentFilterValue %>' OnClientSelectedIndexChanged="StatusTypeIndexChanged"/> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function StatusTypeIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("StatusType", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> <ItemStyle Width="50px" HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle> <ItemTemplate> <EventOn:EventManagerTypeIcon ID="EventOnTypeIcon3" runat="server" Value='<%# Eval("StatusType")%>'></EventOn:EventManagerTypeIcon> </ItemTemplate></EventOn:EventManagerGridTemplateColumn>Runtime-fout Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: Neither of the types 'String' and 'StatusType' converts to the otherfunction ProcessToolTipAction(action, ID) { if (action == "<%= GlobalConstants.CommandName.REQUESTINVITE %>") { var wnd = $find('<%=winInviteSelf.ClientID %>'); wnd.add_close(function (sender, e) { var args = e.get_argument(); if (IsDialogResultOK(args)) { AjaxRequestObject = GetAjaxRequestObject(action, "<%=this.GetType().ToString()%>"); AjaxRequestObject.AppointmentId = ID; AjaxRequestObject.HideInvite = args.HideInvite; AjaxRequestObject.SpecialNotes = args.SpecialNotes; AjaxRequestJson(AjaxRequestObject); } }); wnd.show(); } }HtmlGenericControl contentDiv = new HtmlGenericControl("div");contentDiv.Style.Add("width", "100%");contentDiv.Style.Add("height", "100%");RadPane pane2 = new RadPane();pane2.ID = "Pane2";pane2.Height = new Unit(100, UnitType.Percentage);pane2.Width = new Unit(100, UnitType.Percentage);pane2.Controls.Add(contentDiv);<div id="RAD_SPLITTER_PANE_CONTENT_Pane2" style="overflow-x: auto; overflow-y: auto; height: 598px; width: 1210px; "><div id="ContentPanel1Panel" style="display: block; "><div id="ContentPanel1" style="width:100%;height:100%;"></div><EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditCommandColumn1"> </EditColumn> <FormTemplate> <asp:Panel ID="pnlZForm" runat="server"> <div id="divZEdit"> <asp:Label ID="lblMerchantCode" Width="150px" runat="server" Text="Merchant Code:" /> <telerik:RadTextBox ID="rtxtMerchantCode" Runat="server" Width="150px" /> <br /> <asp:Label ID="lblAccountName" Width="150px" runat="server" Text="Account Name:" /> <telerik:RadTextBox ID="rtxtAccountName" Runat="server" Width="150px" /> <br /> <asp:Label ID="lblSharedSecret" Width="150px" runat="server" Text="Shared Secret:" /> <telerik:RadTextBox ID="rtxtSharedSecret" Runat="server" Width="150px" /> <br /> <telerik:RadButton ID="btnUpdate" runat="server" Text="Update" /> <telerik:RadButton ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" /> </div> </asp:Panel> </FormTemplate> </EditFormSettings>Private Sub rgdNewRadGrid_DetailTableDataBind(ByVal source As Object, ByVal e As GridDetailTableDataBindEventArgs) Handles rgdNewRadGrid.DetailTableDataBind Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) Select Case e.DetailTableView.Name Case "myDetailTable" Dim myTrackingGUID As Guid = New Guid(dataItem.Item("MerchantTrackingGUID").Text) Dim myDataSet As New DataSet '===Get the DetailTable data=== myDataSet = *get dataset from database* e.DetailTableView.DataSource = myDataSet e.DetailTableView.CommandItemDisplay = GridCommandItemDisplay.Top e.DetailTableView.CommandItemSettings.AddNewRecordImageUrl = "../Img/AddRecord.gif" e.DetailTableView.CommandItemSettings.AddNewRecordText = "Add New Details" e.DetailTableView.CommandItemSettings.ShowRefreshButton = False e.DetailTableView.EditFormSettings.EditFormType = GridEditFormType.Template e.DetailTableView.EditFormSettings.FormTemplate = LoadTemplate("Templates/myNewAdd.ascx") End SelectEnd Sub<%@ Control Language="VB" ClassName="myNewAdd" %> <asp:Panel ID="pnlNewForm" runat="server"> <div id="divNewEdit"> <asp:Label ID="lblTerminalUserGroupID" Width="150px" runat="server" Text="TerminalUserGroupID:" /> <telerik:RadComboBox ID="rcbxTerminalUserGroupID" Width="200px" runat="server" /> <br /> <telerik:RadButton ID="btnDetailUpdate" runat="server" Text="Update" /> <telerik:RadButton ID="btnDetailCancel" runat="server" Text="Cancel" CommandName="Cancel" /> </div> </asp:Panel>Protected Sub rgdNewRadGrid_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgdNewRadGrid.ItemDataBound If e.Item.IsInEditMode AndAlso e.Item.OwnerTableView.Name = "myDetailTable" Then Dim editItem As GridEditFormItem = e.Item Dim rcbxTerminalUserGroupID As RadComboBox = editItem.FindControl("rcbxTerminalUserGroupID") Dim myDataSet As Data.DataSet myDataSet = *get data from database* For Each row As DataRow In myDataSet.Tables(0).Rows Dim myItem As New RadComboBoxItem myItem.Text = row.Item("NAME").ToString If Not rcbxTerminalUserGroupID Is Nothing Then rcbxTerminalUserGroupID.Items.Add(myItem) End If Next End IfEnd Sub