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.
<
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
>
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;
}
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);
}
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.
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
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
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
>
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
>