RadListView not showing InsertItemTemplate

4 posts, 0 answers
  1. DanInMa
    DanInMa avatar
    7 posts
    Member since:
    Aug 2013

    Posted 02 Jul 2014 Link to this post

    title says it all. I think I am missing something simple here.
    form1.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="ISEMAILAPP.WebForm2" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
            <Scripts>
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js">
                </asp:ScriptReference>
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js">
                </asp:ScriptReference>
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js">
                </asp:ScriptReference>
            </Scripts>
        </telerik:RadScriptManager>
        <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" >
         
         
            <telerik:RadListView ID="messagelist" ItemPlaceholderID="itemPlaceholder" runat="server" onitemcommand="messagelist_ItemCommand" InsertItemPosition="LastItem">
              <LayoutTemplate>
                    <table id="Table1" runat="server">
                        <tr id="Tr1" runat="server">
                        <th> </th>
                        <th>Start</th>
                        <th>End</th>
                        <th>Subject</th>
                        <th>Message</th>
                        </tr>
                        <tr runat="server" id="itemPlaceholder"></tr>
                    </table>
                </LayoutTemplate>
                <EmptyDataTemplate>
                                <table id="Table1" runat="server">
                        <tr id="Tr1" runat="server">
                        <th> </th>
                        <th>emptyStart</th>
                        <th>End</th>
                        <th>Subject</th>
                        <th>Message</th>
                        </tr>
                        <tr runat="server" id="itemPlaceholder"></tr>
                    </table>
                </EmptyDataTemplate>
     
                <ItemTemplate>
     
                    <tr>
                    <td><asp:Button ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" AutoPostback="true" ></asp:Button>  <telerik:RadButton ID="deletebutton" runat="server" Text="Delete"
             AutoPostBack="true"  CommandName="Delete" >     </telerik:RadButton></td>
                        <td>
                            <asp:Label runat="server" ID="startdate" Text='<%# Eval("Start") %>' />
     
                        </td>
                        <td>
                            <asp:Label runat="server" ID="enddate" Text='<%# Eval("End") %>' />
                        </td>
                        <td>
                            <asp:Label runat="server" ID="subjectline" Text='<%# Eval("Subject") %>' />
                        </td>
                                            <td>
                            <asp:Label runat="server" ID="messageline" Text='<%# Eval("Message") %>' />
                        </td>
                    </tr>
     
     
                </ItemTemplate>
     
                <EditItemTemplate>
                 
                                <tr style="background-color:Gray;">
                                <td><telerik:RadButton ID="savebutton" runat="server" Text="Save"
             AutoPostBack="true"  CommandName="Update" >     </telerik:RadButton
             <asp:Button ID="BtnCancel" runat="server" Text="Cancel" CommandName="Cancel" CausesValidation="false"
                                Width="70px" /></td>
                        <td>  
                                       
                            <telerik:RadDateTimePicker ID="startdate" runat="server" SelectedDate='<%# Bind("Start") %>' ></telerik:RadDateTimePicker>
     
                        </td>
                        <td>
                            <telerik:RadDateTimePicker ID="enddate" runat="server" SelectedDate='<%# Bind("End") %>' ></telerik:RadDateTimePicker>
                        </td>
                        <td>
                            <asp:TextBox ID="subjectline" runat="server" Text='<%# Bind("Subject") %>'></asp:TextBox>
                        </td>
                                            <td>
                            <telerik:RadEditor  Content='<%# Bind("Message") %>' ID="messageline" runat="server" ></telerik:RadEditor>
                        </td>
                    </tr>
     
                </EditItemTemplate>
     
                <InsertItemTemplate>
                <tr >
                                <td><telerik:RadButton ID="insertbutton" runat="server" Text="Add New"
             AutoPostBack="true"  CommandName="Insert" >     </telerik:RadButton
             <asp:Button ID="BtnCancel" runat="server" Text="Cancel" CommandName="Cancel" CausesValidation="false"
                                Width="70px" /></td>
                        <td>  
                                       
                            <telerik:RadDateTimePicker ID="startdate" runat="server"  ></telerik:RadDateTimePicker>
     
                        </td>
                        <td>
                            <telerik:RadDateTimePicker ID="enddate" runat="server"  ></telerik:RadDateTimePicker>
                        </td>
                        <td>
                            <asp:TextBox ID="subjectline" runat="server" ></asp:TextBox>
                        </td>
                                            <td>
                            <telerik:RadEditor  ID="messageline" runat="server" ></telerik:RadEditor>
                        </td>
                    </tr>
                 
                </InsertItemTemplate>
     
            </telerik:RadListView>
     
     
     
            </telerik:RadAjaxPanel>
     
     
     
     
     
     
     
     
        </form>
    </body>
    </html>





    form1.aspx.cs

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.IO;
    using System.Net.Mail;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Telerik.Web.UI;
     
     
    namespace ISEMAILAPP
    {
        public partial class WebForm2 : System.Web.UI.Page
        {
            string messageKey = "messages";
            protected void Page_Load(object sender, EventArgs e)
            {
                messagelist.InsertItemPosition = RadListViewInsertItemPosition.LastItem;
                if (!Page.IsPostBack)
                {
                    // If the session variable is empty, initialize an
                    // empty list as the datasource
                    if (Session[messageKey] == null)
                    {
                        Session[messageKey] = new List<mEvent>();
                        
                         
                    }
                     foreach (RadListViewDataItem item in messagelist.Items)
                    {
                        item.Edit = true;
                    }
                     BindList();
     
                }
     
            }
     
            private void BindList()
            {
                messagelist.DataSource = null;
                messagelist.DataSource = (List<mEvent>)Session[messageKey];
                messagelist.InsertItemPosition = RadListViewInsertItemPosition.LastItem;
                messagelist.DataBind();
            }
     
     
            protected void Button1_Click(object sender, EventArgs e)
            {/*
                DateTime start = this.start.SelectedDate.Value;
                DateTime end = this.end.SelectedDate.Value;
                string s = subject.Text;
                string m = message.Content;
                // Grab the current list from the session and add the
                // currently selected DropDown item to it.
                List<mEvent> messages = (List<mEvent>)Session[messageKey];
                messages.Add(new mEvent(start,end,s,m));
                subject.Text = string.Empty;
                message.Content = string.Empty;
                this.start.Clear();
                this.end.Clear();
               BindList();
              * */
     
            }
     
     
     
     
     
            private void UpdateBindList()
            {
               // messagelist.DataSource = null;
                messagelist.DataSource = (List<mEvent>)Session[messageKey];
                messagelist.InsertItemPosition = RadListViewInsertItemPosition.LastItem;
                messagelist.Rebind();
            }
            // Basic author object, used for databinding
            private class mEvent
            {
                public DateTime Start { get; set; }
                public DateTime End { get; set; }
                public String Subject { get; set; }
                public String Message { get; set; }
                public mEvent(DateTime start, DateTime end, string subject, string message)
                {
                    Start = start;
                    End = end;
                    Subject = subject;
                    Message = message;
                }
            }
            private string PopulateBody(string AppliesTo, string MtypeColor, string MtypeText, string Message)
            {
                var subjects = new List<string>();
                var messages = new List<string>();
                string body = string.Empty;
                string dateString = DateTime.Today.ToShortDateString();
                foreach (RadListViewDataItem item in messagelist.Items)
                {
                    string currSubject = string.Empty;
                    string currMessage = string.Empty;
     
                    Label subject = (Label)item.FindControl("subjectline");
                    Label message = (Label)item.FindControl("messageline");
     
                    currSubject = subject.Text;
                    currMessage = message.Text;
                    subjects.Add(currSubject);
                    messages.Add(currMessage);
                }
                 
                using (StreamReader reader = new StreamReader(Server.MapPath("~/emailtemplate.htm")))
                {
                    body = reader.ReadToEnd();
                }
                body = body.Replace("{CurrentDate}", dateString);
                //body = body.Replace("{AppliesTo}", AppliesTo);
               // body = body.Replace("{MtypeColor}", MtypeColor);
                //body = body.Replace("{MtypeText}", MtypeText);
                body = body.Replace("{Message}", Message);
                return body;
            }
            private void SendHtmlFormattedEmail(string recepientEmail, string subject, string body)
            {
                using (MailMessage mailMessage = new MailMessage())
                {
                    mailMessage.From = new MailAddress(ConfigurationManager.AppSettings["UserName"]);
                    mailMessage.Subject = subject;
                    mailMessage.Body = body;
                    mailMessage.IsBodyHtml = true;
                    mailMessage.To.Add(new MailAddress(recepientEmail));
                    SmtpClient smtp = new SmtpClient();
                    smtp.Host = ConfigurationManager.AppSettings["Host"];
                    // smtp.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["EnableSsl"]);
                    System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
                    // NetworkCred.UserName = ConfigurationManager.AppSettings["UserName"];
                    //NetworkCred.Password = ConfigurationManager.AppSettings["Password"];
                    smtp.UseDefaultCredentials = true;
                    //smtp.Credentials = NetworkCred;
                    smtp.Port = int.Parse(ConfigurationManager.AppSettings["Port"]);
                    smtp.Send(mailMessage);
                }
            }
     
     
            protected void SendEmail(object sender, EventArgs e)
            {
                /* string AppliesTo = TextBox2.Text;
                 string Message = RadEditor1.Content;
                 string MtypeColor = "#008AB0";
                 string MtypeText = "General Broadcast";
                 string Subject = TextBox1.Text;
     
                 string body = this.PopulateBody(AppliesTo,MtypeColor, MtypeText, Message);
                 this.SendHtmlFormattedEmail("xxxxx", Subject, body);
                 * */
            }
     
     
     
     
            protected void messagelist_ItemCommand(object sender, RadListViewCommandEventArgs e)
            {
                if (e.CommandName == RadListView.EditCommandName)
                {
     
                }
                else   if (e.CommandName == RadListView.CancelCommandName)           
                {              
                    //cancel action
                    
                }
                else if (e.CommandName == RadListView.UpdateCommandName)
                {              
                    //Perform the update
                    RadListViewEditableItem curItem = (RadListViewEditableItem)e.ListViewItem;
                    int curItemIndex = curItem.DisplayIndex;
                    RadDateTimePicker dtpStart = (RadDateTimePicker)curItem.FindControl("startdate");
                    RadDateTimePicker dtpEnd = (RadDateTimePicker)curItem.FindControl("enddate");
                    TextBox txtBoxSubject = (TextBox)curItem.FindControl("subjectline");
                    RadEditor reMessage = (RadEditor)curItem.FindControl("messageline");
     
                    DateTime start = dtpStart.SelectedDate.Value;
                    DateTime end = dtpEnd.SelectedDate.Value;
                    string s = txtBoxSubject.Text;
                    string m = reMessage.Content;
     
                    // Grab the current list from the session and add the
                    // currently selected DropDown item to it.
                     List<mEvent> messages = (List<mEvent>)Session[messageKey];
     
                    messages[curItemIndex] = new mEvent(start, end, s, m);
                   // messages.Add(new mEvent(start, end, s, m));
                    //  subject.Text = string.Empty;
                    //  message.Content = string.Empty;
                    // this.start.Clear();
                    //    this.end.Clear();
                    UpdateBindList();
     
                }
                else if (e.CommandName == RadListView.PerformInsertCommandName)
                {              
                    //Perform the insert 
                    RadListViewEditableItem curItem = (RadListViewEditableItem)e.ListViewItem;
                    int curItemIndex = curItem.DisplayIndex;
                    RadDateTimePicker dtpStart = (RadDateTimePicker)curItem.FindControl("startdate");
                    RadDateTimePicker dtpEnd = (RadDateTimePicker)curItem.FindControl("enddate");
                    TextBox txtBoxSubject = (TextBox)curItem.FindControl("subjectline");
                    RadEditor reMessage = (RadEditor)curItem.FindControl("messageline");
     
                    DateTime start = dtpStart.SelectedDate.Value;
                    DateTime end = dtpEnd.SelectedDate.Value;
                    string s = txtBoxSubject.Text;
                    string m = reMessage.Content;
     
                    // Grab the current list from the session and add the
                    // currently selected DropDown item to it.
                    List<mEvent> messages = (List<mEvent>)Session[messageKey];
     
                    messages[curItemIndex] = new mEvent(start, end, s, m);
                    // messages.Add(new mEvent(start, end, s, m));
                    //  subject.Text = string.Empty;
                    //  message.Content = string.Empty;
                    // this.start.Clear();
                    //    this.end.Clear();
     
                    BindList();
                }
                else if (e.CommandName == RadListView.DeleteCommandName)
                {              
                    //Perform the Delete
                    RadListViewEditableItem curItem = (RadListViewEditableItem)e.ListViewItem;
                    int curItemIndex = curItem.DisplayIndex;
     
     
                    // Grab the current list from the session and add the
                    // currently selected DropDown item to it.
                    List<mEvent> messages = (List<mEvent>)Session[messageKey];
     
                    messages.RemoveAt(curItemIndex);
                    UpdateBindList();
                }
            }
     
     
     
     
        }
    }
  2. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 03 Jul 2014 in reply to DanInMa Link to this post

    Hi DanInMa,

    Please have a look into this forum thread which discuss about the same scenario.

    Thanks,
    Shinu.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. DanInMa
    DanInMa avatar
    7 posts
    Member since:
    Aug 2013

    Posted 17 Nov 2014 in reply to Shinu Link to this post

    sadly, the other post wasnt that helpful. here I am again, on another project, with a similar need and I cannot get the Telerik radlistview to show it's insert template. 
  5. Maria Ilieva
    Admin
    Maria Ilieva avatar
    4017 posts

    Posted 20 Nov 2014 Link to this post

    Hello,

    Can you please try removing the RadAjaxPanel around the RadListView control and see how it goes?

    Regards,
    Maria Ilieva
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
Back to Top