Telerik Forums
UI for ASP.NET AJAX Forum
9 answers
670 views
Please telle me how I can find controls in the LayoutTemplate (see attached picture).
I need to set the text attributes for different languages.

Vessy
Telerik team
 answered on 09 May 2019
8 answers
664 views
Hi everyone,

I have a RadListView that is bind to Db. I have to show details of the items in listview when user clicks on the each item . But i am facing issue when its SelectedIndexChanged event is firing. When user clicks on the item for the first time, the detailed data shown is correct but as soon as a second item is clicked , it shows exception :

ArgumentOutOfRangeException :
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Exception is thrown when : 

ItemID = ItemListView.SelectedValue.ToString();

Showing data as similar to a demo - http://demos.telerik.com/aspnet-ajax/salesdashboard/
Employee ListView  -> clicking showing - > sales data

Also i found that the selectedindexchanged event is firing twice in some cases. Cannot predict such cases but want to know the reason why it is firing twice when user clicks only once.

please advice
Yana
Telerik team
 answered on 24 Apr 2019
2 answers
89 views

I'm assuming the update is the root cause of this issue. This code worked previously and now causes an error "You need to have a DynamicManager control on the page and register your data control with it in order to use a DynamicControlParameter". The RadListView is not compatible with a DynamicManager control.

 

The code causing this error:

 
    Private Sub rbtnAddLocation_Click(sender As Object, e As EventArgs) Handles rbtnAddLocation.Click
        rlvLocations.InsertItemPosition = RadListViewInsertItemPosition.FirstItem
        rlvLocations.ShowInsertItem()
        rbtnAddLocation.CommandArgument = rdlMembers.SelectedValue
        rbtnAddLocation.Enabled = False
    End Sub

 

The offending lines are the two with rlvLocations.

Updates are really getting frustrating to new Telerik user here. 

Eyup
Telerik team
 answered on 03 Apr 2019
3 answers
515 views
I apologize if this has been answered elsewhere.  I have what, I think, is a simple problem.  I am trying to access one of the controls in the LayoutTemplate of a RadListView via javascript.   Here is the ListView code:
<telerik:RadListView ID="rlvApproval" runat="server">
    <LayoutTemplate>
        <table>
            <tr>
                <td style="width: 250px;">
                </td>
                <td style="width: 200px; font-weight: bold;">
                </td>
            </tr>
        </table>
        <asp:PlaceHolder ID="itemplaceholder" runat="server" />
        <table>
                                <tr>
                <td style="width: 250px;">
                    <asp:Label ID="lblName" runat="server" Text="Total" Font-Bold="true" />
                </td>
                <td style="width: 200px; font-weight: bold;">
                    <telerik:RadNumericTextBox ID="txtTotalValue" runat="server" ReadOnly="true" DataType="System.Decimal"
                        Skin="Web20">
                        <NumberFormat DecimalDigits="0" />
                    </telerik:RadNumericTextBox>
                </td>
            </tr>
              
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <table>
            <tr>
                <td style="width: 250px;">
                    <asp:Label ID="lblName" runat="server" Text='<%# Eval("name") %>' />
                </td>
                <td style="width: 250px;">
                                                <telerik:RadNumericTextBox ID="txtValue" runat="server" DataType="System.Decimal"
                        Skin="Web20" DbValue='<%# DataBinder.Eval(Container.DataItem, "value") %>' MaxValue="100"
                        MinValue="0" AutoPostBack="false" >
                        <NumberFormat DecimalDigits="0" />
                        <ClientEvents OnValueChanged="ValidateWeighting" />
                    </telerik:RadNumericTextBox>
                </td>
            </tr>
        </table>
    </ItemTemplate>
    <EmptyDataTemplate>
        <div class="message">
            <asp:Label ID="lblEmptyMessage" runat="server" SkinID="messageBig" Text="Error loading approval information..." />
        </div>
    </EmptyDataTemplate>
</telerik:RadListView>
Whenever the txtValue is updated, I fire a javascript function to determine if the values are 100% based on the current total value that is set in the codebehind.  Here is the code I have that is working:
function ValidateWeighting(sender, eventArgs) {
    var object = document.getElementById('ctl00_ContentPlaceHolder1_Weighting1_rlvApproval_txtTotalValue_text');
    var object2 = document.getElementById('<%= rlvApproval.ClientID %>');
    var current = eval(object.value);
    var old = eventArgs.get_oldValue();
    var newval = eventArgs.get_newValue();
    var tmp = current + (newval - old);
    if (tmp == 100) {
        document.getElementById('<%= btnSave.ClientID %>').disabled = false;
    }
    else {
        document.getElementById('<%= btnSave.ClientID %>').disabled = true;
    }
    object.value = tmp;
}
However, The id to get the object for the txtTotalValue control was obtained through "View Source".  What I am looking for is the right way to do this that avoids browser differences, web server differences, etc.
Any thoughts?
Peter Milchev
Telerik team
 answered on 02 Apr 2019
0 answers
134 views

I had created rad dynamic controls which consists of(textbox, ddl, combobox etc..) and also created dynamic rad wizardsteps, every wizardstep contains a dynamic table.

I want insert those dynamic rad controls into wizardstep table, to achieve this i used sessions but its giving a exception says Script controls may not be registered after PreRender..

When i tried to insert these controls in static asp table it works fine, while adding to a dynamic table i am getting this issue. What i had done wrong, how can i resolve this issue.

Please guide me i am new to telerik controls.

 

Code Behind: 

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GenerateWizardSteps(2);
        RadListView1.DataSource = GetDatatable();
        RadListView1.DataBind();
    }
    else
    {
        RecreateControls("rtb", "RadTextBox");
    }
}
public DataTable GetDatatable()
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Label");
 
    dt.Rows.Add("RadTextBox");
    dt.Rows.Add("RadComboBox");
    dt.Rows.Add("RadDateTimePicker");
    dt.Rows.Add("RadDropDownList");
    dt.Rows.Add("RadDatePicker");
    dt.Rows.Add("RadNumericTextBox");
    dt.Rows.Add("RadToggleButton");
    dt.Rows.Add("RadBinaryImage");
    return dt;
}
 
//Creating WizardSteps
public void GenerateWizardSteps(int formID)
{
    RadWizardStep step;
 
    step = new RadWizardStep();
    step.ClientIDMode = ClientIDMode.Static;
    step.ID = "step_" + i.ToString();
    controlTbl = new Table();
    controlTbl.ClientIDMode = ClientIDMode.Static;
    controlTbl.ID = "controlTable_" + i.ToString();
    Session["myTable"] = controlTbl;
    step.Controls.Add(controlTbl);
    wizardControl.WizardSteps.Add(step);
 }
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    string commandText = e.Argument.ToString().Trim();
    string[] splitdata = commandText.Split('&');
    commandText = splitdata[0];
    string controlName = splitdata[1];
    switch (controlName)
    {
        case "RadTextBox":
            int cnt1 = FindOccurence("rtb") + 1;
            DynamicControls dcTextBox = new DynamicControls();
            TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", cnt1, cnt1, "Text Box:", "", 0);
            TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", cnt1, cnt1, "", "", 0);
            TableRow txtRow = new TableRow();
            txtRow.Cells.Add(txtlblRad);
            txtRow.Cells.Add(txtRad);
            Table controlTbl = Session["myTable"] as Table;
            controlTbl.Rows.Add(txtRow);
            //Table1.Rows.Add(txtRow);
 
            break;
     }
}
private void RecreateControls(string ctrlPrefix, string ctrlType)
{
    string[] ctrls = Request.Form.ToString().Split('&');
    int cnt = FindOccurence(ctrlPrefix);
    if (cnt > 0)
    {
        for (int k = 1; k <= cnt; k++)
        {
            for (int i = 0; i < ctrls.Length; i++)
            {
                if (ctrls[i].Contains(ctrlPrefix + "_" + k.ToString()))
                {
 
                    if (ctrlType == "RadTextBox")
                    {
                        DynamicControls dcTextBox = new DynamicControls();
                        TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", k, k, "TextBox:", "", 0);
                        TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", k, k, "", "", 0);
                        TableRow txtRow = new TableRow();
                        txtRow.Cells.Add(txtlblRad);
                        txtRow.Cells.Add(txtRad);
                        Table controlTbl = Session["myTable"] as Table;
                        controlTbl.Rows.Add(txtRow);
                    }
                       break;
                }
            }
        }
    }
}
 
private int FindOccurence(string substr)
{
    string reqstr = Request.Form.ToString();
    return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length);
}

 

Saif
Top achievements
Rank 1
 asked on 23 Jan 2019
0 answers
97 views

I have a radlistview item. On clicking of radlistview item i am generating dynamic controls as show in the code. Since dynamically generate controls not retain across post back so recreating every time. Controls are working fine but not generating in a proper order. All controls should generate one by one on clicking of list view but those are messing around, please some one suggest me how can i resolve this?
Thanks.

MARK UP:

<div id="divListView" style="overflow: auto; width: 100%;" class="sortable">
 <telerik:RadListView ID="RadListView1" runat="server" RenderMode="Lightweight" DataKeyNames="Label" ClientDataKeyNames="Label" ItemPlaceholderID="ListViewPlaceHolder1">                                 
    <LayoutTemplate>
       <div class="RadListView RadListView_Silk">
          <table id="orgcharttable" class="layoutTable" width="100%">
             <tr>
                 <td colspan="3" class="nopadding">
                    <asp:PlaceHolder ID="ListViewPlaceHolder1" runat="server"></asp:PlaceHolder>
                 </td>
             </tr>
          </table>
      </div>
  </LayoutTemplate>
 <ItemTemplate>
      <div id="divHighlight" class="ListViewStyle" onclick="SelectControl(this,event);">
          <div style="vertical-align: top; width: 100%">
              <table>
                 <tr id="tr1">
                    <td colspan="2" class="tdnormal">
                        <telerik:RadLabel ID="lbl1" runat="server" Text='<%# Bind("Label")%>' Font-Bold="true" CssClass="ItemHeaderStyle"></telerik:RadLabel>
                     </td>
                 </tr>
                 <tr id="tr2">
                     <td rowspan="2" colspan="1" style="width: 5%">
                     </td>
                 </tr>
             </table>
         </div>
      </div>
     </ItemTemplate>
  </telerik:RadListView>
 
  <asp:Table ID="Table1" runat="server" EnableViewState="false"></asp:Table>

Code Behind:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            RadListView1.DataSource = GetDatatable();
            RadListView1.DataBind();
        }
        else
        {
            RecreateControls("rtb", "RadTextBox");
            RecreateControls("rcb", "RadComboBox");              
        }
    }
    public DataTable GetDatatable()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Label");
        dt.Rows.Add("RadTextBox");
        dt.Rows.Add("RadComboBox");
        return dt;
    }
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        string commandText = e.Argument.ToString().Trim();
        string[] splitdata = commandText.Split('&');
        commandText = splitdata[0];
        string controlName = splitdata[1];
        switch (controlName)
        {
            case "RadTextBox":
                int cnt1 = FindOccurence("rtb") + 1;
                DynamicControls dcTextBox = new DynamicControls();
                TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", cnt1, cnt1, "Text Box:", "", 0);
                TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", cnt1, cnt1, "", "", 0);
                TableRow txtRow = new TableRow();
                txtRow.Cells.Add(txtlblRad);
                txtRow.Cells.Add(txtRad);
                Table1.Rows.Add(txtRow);
                break;
            case "RadComboBox":
                int cnt2 = FindOccurence("rcb") + 1;
                DynamicControls dcComboBox = new DynamicControls();
                TableCell combolblRad = dcComboBox.Controlscreation("RadLabel", "", cnt2, cnt2, "Combo box:", "", 0);
                TableCell comboRad = dcComboBox.Controlscreation("RadComboBox", "", cnt2, cnt2, "", "", 0);
                TableRow comboRow = new TableRow();
                comboRow.Cells.Add(combolblRad);
                comboRow.Cells.Add(comboRad);
                Table1.Rows.Add(comboRow);
                break;
        }
}
private void RecreateControls(string ctrlPrefix, string ctrlType)
    {
        string[] ctrls = Request.Form.ToString().Split('&');
        int cnt = FindOccurence(ctrlPrefix);
        if (cnt > 0)
        {
            for (int k = 1; k <= cnt; k++)
            {
                for (int i = 0; i < ctrls.Length; i++)
                {
                    if (ctrls[i].Contains(ctrlPrefix + "_" + k.ToString()))
                    {
                        if (ctrlType == "RadTextBox")
                        {
                            DynamicControls dcTextBox = new DynamicControls();
                            TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", k, k, "TextBox:", "", 0);
                            TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", k, k, "", "", 0);
                            TableRow txtRow = new TableRow();
                            txtRow.Cells.Add(txtlblRad);
                            txtRow.Cells.Add(txtRad);
                            Table1.Rows.Add(txtRow);
                        }
                        if (ctrlType == "RadComboBox")
                        {
                            DynamicControls dcComboBox = new DynamicControls();
                            TableCell combolblRad = dcComboBox.Controlscreation("RadLabel", "", k, k, "Combo box:", "", 0);
                            TableCell comboRad = dcComboBox.Controlscreation("RadComboBox", "", k, k, "", "", 0);
                            TableRow comboRow = new TableRow();
                            comboRow.Cells.Add(combolblRad);
                            comboRow.Cells.Add(comboRad);
                            Table1.Rows.Add(comboRow);
                        }
                     }
                 }
              }
           }
        }
private int FindOccurence(string substr)
    {
        string reqstr = Request.Form.ToString();         
        return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length);
    }
}
}

Expected Result: The Controls should generate one by one in order on click of listview, but generating in a group. Textboxes are generating as one group and dropdowns are generating as one group.

 

Saifulla
Top achievements
Rank 1
 asked on 02 Jan 2019
3 answers
491 views

Hi,

 

I am trying to access a control in InsertItemTemplate.

 

On EditTemplate is fine, I use:

var Ctlcst_costru_civmec_note = (RadTextBox)CtlCstCostruzione.EditItems[0].FindControl("Ctlcst_costru_civmec_note");

 

But I am not able to find the same control on insert one. How can I do?

 

Thx,

Valerio

Marin Bratanov
Telerik team
 answered on 24 Dec 2018
1 answer
97 views

Is there any way to change the template based on a item count in any way?

have a scenario where i need to create a grid system where every 12e item has a different layout altoghether.

 

Someone surely must have had this come about at some point and not to familiular with the listview control. 

 

Christian

Marin Bratanov
Telerik team
 answered on 25 Oct 2018
1 answer
133 views

I am trying to implement drag and drop functionality using rad list view but getting this error Object doesn't support property or method 'getKendoDraggable' can someone help me how can i resolve this.

Script:

Sys.Application.add_load(enableDraggableShapeBox);
                 function enableDraggableShapeBox() {
                     debugger
                     var draggables = $telerik.$("#<%=listViewDiv.ClientID%>")
                     if (draggables.getKendoDraggable()) return;
                     draggables.kendoDraggable({
                         filter: "div.ListViewStyle",
                         hint: function (draggable) {
                             var hint = draggable.clone(true);
                             return hint;
                         }
                     });
                 }

 

Listview:

<div id="listViewDiv" runat="server" clientidmode="Static" style="overflow:auto">
          <telerik:RadListView ID="RadListView1" runat="server" RenderMode="Lightweight">
              <LayoutTemplate>
                   
                  <div style="padding:10px 0 0 10px">
                  <telerik:RadLabel Text="RadLabel1" ID="rlb1" runat="server" RenderMode="Lightweight" CssClass="listViewStyles">
                  </telerik:RadLabel>
                  <br />
                  </div>
 
                  <div style="padding:10px 0 0 10px">
                  <telerik:RadTextBox ID="RadTextBox1" runat="server" RenderMode="Lightweight">
                  </telerik:RadTextBox>
                  </div>
 
                  <div style="padding:10px 0 0 10px">
                  <telerik:RadTimePicker ID="RadTimePicker1" runat="server" RenderMode="Lightweight">
                  </telerik:RadTimePicker>
                  </div>
 
                  <div style="padding:10px 0 0 10px">
                  <telerik:RadDatePicker ID="RadDatePicker1" runat="server" RenderMode="Lightweight">
                  </telerik:RadDatePicker>
                  </div>
 
                  <div style="padding:10px 0 0 10px">
                  <telerik:RadDateTimePicker ID="RadDateTimePicker1" runat="server" RenderMode="Lightweight">
                  </telerik:RadDateTimePicker>
                  </div>
 
                  
                  <div style="padding:10px 0 0 10px">
                      <telerik:RadComboBox ID="RadComboBox1" runat="server" RenderMode="Lightweight">
                          <Items>
                              <telerik:RadComboBoxItem Text="2" Selected="true" />
                              <telerik:RadComboBoxItem Text="4" />
                              <telerik:RadComboBoxItem Text="6" />
                              <telerik:RadComboBoxItem Text="8" />
                              <telerik:RadComboBoxItem Text="10" />
                          </Items>
                      </telerik:RadComboBox>
                  </div>
                   
                  <div style="padding:10px 0 0 10px" >
                      <telerik:RadDropDownList ID="RadDropDownList" runat="server" RenderMode="Lightweight">
                          <Items>
                              <telerik:DropDownListItem text="textdata" />
                              <telerik:DropDownListItem text="textdata" />
                              <telerik:DropDownListItem text="textdata" />
                              <telerik:DropDownListItem text="textdata" />
                              <telerik:DropDownListItem text="textdata" />
                          </Items>
                      </telerik:RadDropDownList>
                  </div>
                   
                  <div style="padding:10px 0 0 10px">
                      <telerik:RadBinaryImage ID="RadBinaryImage1" runat="server" />
                  </div>
 
              </LayoutTemplate>
              <ClientSettings AllowItemsDragDrop="true">
                  <ClientEvents />
                  <DataBinding ItemPlaceHolderID="itemContainer">
                      <ItemTemplate>
                          <div id="#= ItemHeader #" class="ListViewStyle">
                              <div style="vertical-align: top; width: 100%">
                                  <table id="ListviewTable">
                                      <tr>
                                          <td colspan="2">
                                              <span id="ItemHeader" class="ItemHeaderStyle"><b>#= ItemHeader #</b></span>
                                          </td>
                                      </tr>
                                      </div>
                      </ItemTemplate>
                  </DataBinding>
              </ClientSettings>
          </telerik:RadListView>
      </div>

 

Attila Antal
Telerik team
 answered on 17 Oct 2018
1 answer
212 views

I am generating a dynamic table based on user input, for giving input i am using ribbonbar combobox. And i have a list view, contain some items. I want to drag and drop listview items in generated table cells. How can i achieve this?? can someone help me with code i am new to teleriks.

Thank, regards.

script:

var getValue = null;
        function OnClientComboBoxTextChanged(sender, args) {
 
            getValue = args.get_comboBox().get_text();
        }
 
function CreateTable() {
 
            var rowCtr;
            var cellCtr;
 
            var rowCnt = getValue;
            var cellCnt = getValue;
 
            var myTableDiv = document.getElementById('myDynamicTable');
            var table = document.createElement('TABLE');
            table.setAttribute("contenteditable", "true");
            table.border = '1';
            table.id = 'myTable';
 
            var tableBody = document.createElement('TBODY');
            table.appendChild(tableBody);
 
            for (rowCtr = 0; rowCtr < rowCnt; rowCtr++) {
                var tr = document.createElement('TR');
                tableBody.appendChild(tr);
 
                for (cellCtr = 0; cellCtr < cellCnt; cellCtr++) {
                    var td = document.createElement('TD');
                    td.width = '120';
                    td.height = '50';
                    td.appendChild(document.createTextNode(""));
                    tr.appendChild(td);
                }
            }
            myTableDiv.appendChild(table);
}

 

Markup: 

  <telerik:RibbonBarGroup Text="Table Generator">
                        <Items>
                            <telerik:RibbonBarControlGroup Orientation="Horizontal">
                                <Items>
                                    <telerik:RibbonBarComboBox ID="txtRow" Width="60" runat="server">
                                        <Items>
                                            <telerik:RibbonBarListItem Selected="true" />
                                        </Items>
                                    </telerik:RibbonBarComboBox>
 
                                    <telerik:RibbonBarComboBox ID="txtCol" Width="60" runat="server">
                                        <Items>
                                            <telerik:RibbonBarListItem Selected="true" />
 
                                        </Items>
                                    </telerik:RibbonBarComboBox>
                                    <telerik:RibbonBarButton ID="btnGenerate" runat="server" Text="Create" />
                                </Items>
                            </telerik:RibbonBarControlGroup>
                        </Items>
                    </telerik:RibbonBarGroup>
 
<telerik:RadListView ID="RadListView1" runat="server" RenderMode="Lightweight">
                <LayoutTemplate>
                     
                    <div style="padding:10px 0 0 10px">
                    <telerik:RadLabel Text="RadLabel1" ID="rlb1" runat="server" RenderMode="Lightweight" CssClass="listViewStyles">
                    </telerik:RadLabel>
                    <br />
                    </div>
 
                    <div style="padding:10px 0 0 10px">
                    <telerik:RadTextBox ID="RadTextBox1" runat="server" RenderMode="Lightweight">
                    </telerik:RadTextBox>
                    </div>
 
                    <div style="padding:10px 0 0 10px">
                    <telerik:RadTimePicker ID="RadTimePicker1" runat="server" RenderMode="Lightweight">
                    </telerik:RadTimePicker>
                    </div>
 
                    <div style="padding:10px 0 0 10px">
                    <telerik:RadDatePicker ID="RadDatePicker1" runat="server" RenderMode="Lightweight">
                    </telerik:RadDatePicker>
                    </div>
 
                    <div style="padding:10px 0 0 10px">
                    <telerik:RadDateTimePicker ID="RadDateTimePicker1" runat="server" RenderMode="Lightweight">
                    </telerik:RadDateTimePicker>
                    </div>
 </LayoutTemplate>
                <ClientSettings>
                    <DataBinding ItemPlaceHolderID="itemContainer">
                        <ItemTemplate>
                            <div id="#= ItemHeader #" class="ListViewStyle">
                                <div style="vertical-align: top; width: 100%">
                                    <table id="ListviewTable">
                                        <tr>
                                            <td colspan="2">
                                                <span id="ItemHeader" class="ItemHeaderStyle"><b>#= ItemHeader #</b></span>
                                            </td>
                                        </tr>
                                        </div>
                        </ItemTemplate>
                    </DataBinding>
                </ClientSettings>
            </telerik:RadListView>

 

 

Attila Antal
Telerik team
 answered on 16 Oct 2018
Narrow your results
Selected tags
Tags
+123 more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?