So, after google-ing for about 6 hours or so I finally gave up. Hope someone here can hook me up with advice.
I'm creating a dynamic function for all grids in my DNN module. When I double click on a row, I call the function editKey, which takes in parameter grid and fetches its ID (For now I only have two grids, but that is not the issue). Then it fetches all the information about that row and a new RadWindow opens up where the prefetched information can be seen and/or managed/deleted.
As I open a new window, I load a new <div> inside it which serves as a template for each grid. The strange thing is, when I add the div to the server (runat="server) I cant seem to find it with the $find('<% CodaEdit1 %>') call.
I want to use all of my prefetched info and put it into this div. My first thought of accessing the divs elements was to use something like
document.getElementById("CodaEdit1").children[i].setAttribute("Text", info[i]);
But that does not do anything.
Neither can I access the first element in the div with
document.getElementById("FindMe");
but
var re = $find('<%= FindMe.ClientID %>');
re.set_value("this works");
Works perfectly. I can of course write the find function for each and every radtextbox that I have, but my code will look pretty ugly and scale terrible as my project grows.
Here is the referenced code
<
div
id
=
"CodaEdit1"
style
=
"display:none"
>
<
telerik:RadTextBox
ID
=
"FindMe"
runat
=
"server"
Label
=
"Rule"
Text
=
""
></
telerik:RadTextBox
>
</
div
>
<
script
type
=
"text/javascript"
>
var keySelected;
function editKey(sender)
{
var whichLayout = windowLayout(sender);
var grid, divinsert;
switch(whichLayout)
{
case ("1"):
grid = $find('<%= RadGrid1.ClientID %>');
break;
case ("2"):
grid = $find('<%= RadGrid2.ClientID %>');
break;
}
divinsert = $get("CodaEdit"+whichLayout);
var masterTableView = grid.get_masterTableView();
keySelected = rowInfo(masterTableView);
//alert(document.getElementById("CodaEdit1").children[0]); <-- HTMLELEMENTSPAN
document.getElementById("CodaEdit1").children[0].setAttribute("Text", "Goon"); <-- Does nothing
var editWindow = GetRadWindowManager().open(null, null, divinsert, 1200, 200);//; 10, 10);
editWindow.center();
//alert(document.getElementById("CodaEdit1").children[0].textContent); <-- finds the text content
var re = $find('<%= FindMe.ClientID %>');
re.set_value("#gfdgdfgsd");
}
function windowLayout(gridSender)
{
var layoutType = gridSender.get_id();
return layoutType.charAt(layoutType.length - 1);
}
function rowInfo(aTableView)
{
var selectedItems = aTableView.get_selectedItems();
var row = selectedItems[0];
var columns = aTableView.get_columns();
var resultArray = [];
for (var i = 0; i <
columns.length
; i++)
{
var
category
=
columns
[i].get_uniqueName();
var cellValue = $(row.get_cell(category)).text();
resultArray.push(cellValue);
}
return resultArray;
}
</script>
<telerik:RadGrid ID="RadGrid1"
runat="server"
AllowPaging="True"
AllowSorting="True"
DataSourceID="blablablawooo"
GroupPanelPosition="Top"
ShowGroupPanel="True"
EnableLinqExpressions="False"
AllowFilteringByColumn="True"
OnInit="RadGrid1_Init"
OnItemCommand="RadGrid1_ItemCommand"
OnPreRender="RadGrid1_PreRender"
Height="600px">
<ClientSettings AllowDragToGroup="True" AllowColumnsReorder="True" EnableRowHoverStyle="True">
<Selecting AllowRowSelect="True" />
<Scrolling AllowScroll="True" EnableVirtualScrollPaging="True" />
<Resizing AllowColumnResize="True" />
<ClientEvents OnFilterMenuShowing="filterMenuShowing" OnRowDblClick="editKey"/>
</ClientSettings>
<MasterTableView AutoGenerateColumns="False" DataKeyNames="RULE_ID" DataSourceID="its a secret yo">
<Columns>
<telerik:GridBoundColumn AllowFiltering="False" DataField="RULE_ID" DataType="System.Decimal" FilterControlAltText="Filter RULE_ID column" HeaderText="RULE ID" ReadOnly="True" SortExpression="RULE_ID" UniqueName="RULE_ID">
</telerik:GridBoundColumn>
etcetc...
We have just started using UI for ASP.NET AJAX. Everything works fine until we try using client-side code. We keep receiving this error : "JavaScript runtime error : '$telerik' is undefined". I've searched for a solution online but none of the suggested solutions works.
At the moment our web.config has the following entries which according to online sources would solve the problem but didn't :
<location path="Telerik.Web.UI.WebResource.axd">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<httpHandlers>
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="Telerik.Web.UI.WebResource" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2014.2.724.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4" />
</handlers>
</system.webServer>
We also tried the following to no avail :
<system.webServer>
<handlers>
<add name="Telerik_Web_UI_WebResource_axd" verb="*" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" preCondition="integratedMode" />
</handlers>
</system.webServer>
In default.aspx we have the following :
<telerik:RadScriptManager ID="scriptManagerMain" runat="server">
<Scripts>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
</Scripts>
<Services>
<asp:ServiceReference Path="~/WCF/DataService.svc"/>
</Services>
</telerik:RadScriptManager>
<telerik:RadAjaxManager ID="radAjaxManagerMain" runat="server">
</telerik:RadAjaxManager>
With all these settings we still keep receiving the "JavaScript runtime error : '$telerik' is undefined" error. I really hope someone knows the solution to this problem because we're stick here and can't find a solution. Thanks in advance for any help.
I have a RadGrid and a RadComboBox outside of RadGrid (say comboOutside), inside a Web Form.
Inside RadGrid, there is 1 more RadComboBox (say comboRadGrid). On selection of items from comboOutside, comboRadGrid is bind i.e., If item 'Company' is selected from comboOutside, then all the company names will be bind in comboRadGrid; and then user select specific company from comboRadGrid and records are added in RadGrid.
For all items, functionality is working fine but I am facing issue in binding of a specific comboOutside item. i.e., When I choose a specific item from comboOutside, say I have 100 items inside comboOutside, and when I select 35th items from it, then comboRadGrid always throw this error while binding records for 35th item (since 35th item has 2000+ records to bind in comboRadGrid)
Error is attached below:
Funcitonality is working fine for all the items except 1 specific item of RadComboBox. I don't understand why. Due to this I am unable to add records in RadGrid
Below is my code-
C# code
public
DataTable GetAccCode(
string
CompanyCode)
{
SqlConnection con =
new
SqlConnection(strcon);
SqlCommand cmd =
new
SqlCommand(
"[Invoice].[usp_tbl_AccountCode_DL_Test]"
, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue(
"@CompanyCode"
, CompanyCode);
SqlDataAdapter da =
new
SqlDataAdapter(cmd);
DataTable dt =
new
DataTable();
try
{
con.Open();
da.Fill(dt);
con.Close();
}
catch
(Exception ex)
{
}
return
dt;
}
protected
void
RGGSTAcCode_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
//bind dropdwon while "Add"
string
CompanyCode = ddlCompany.SelectedValue.ToString();
GridEditableItem item = (GridEditableItem)e.Item;
//code to bind inside RadComboBox list
RadComboBox rcb = (RadComboBox)item.FindControl(
"ddlAccountCode"
);
rcb.DataSource = GetAccCode(CompanyCode);
rcb.DataTextField =
"AccountDescription"
;
rcb.DataValueField =
"AccountCodeID"
;
rcb.DataBind();
rcb.Items.Insert(0,
new
RadComboBoxItem(
"- Select -"
,
string
.Empty));
Session[
"AccCode"
] = rcb.SelectedValue.ToString();
string
a = rcb.SelectedValue.ToString();
//Select particular dropdown value while "Edit"
Label lblAcCode2 = item.FindControl(
"lblAcCode2"
)
as
Label;
if
(!
string
.IsNullOrEmpty(lblAcCode2.Text))
{
rcb.SelectedValue = lblAcCode2.Text;
rcb.SelectedItem.Text = lblAcCode2.Text;
}
}
}
//code to bind outside RadComboBox list
protected
void
BindComapnyDL()
{
SqlConnection con =
new
SqlConnection(strcon);
SqlCommand cmd =
new
SqlCommand(
"General.usp_tbl_BuyerCode_Query"
, con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da =
new
SqlDataAdapter(cmd);
DataTable dt =
new
DataTable();
try
{
con.Open();
da.Fill(dt);
con.Close();
}
catch
(Exception ex)
{
}
ddlCompany.DataTextField =
"Title"
;
ddlCompany.DataValueField =
"Code"
;
ddlCompany.DataSource = dt;
ddlCompany.DataBind();
Session[
"Comp"
] = ddlCompany.SelectedValue.ToString();
string
a = ddlCompany.SelectedValue.ToString();
}
//RadComboBox select index changed event
protected
void
ddlCompany_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
if
(ddlCompany.SelectedValue ==
null
|| ddlCompany.SelectedValue ==
""
)
{
GridCommandItem cmditem = (GridCommandItem)RGGSTAcCode.MasterTableView.GetItems(GridItemType.CommandItem)[0];
System.Web.UI.WebControls.Button ctrl = (System.Web.UI.WebControls.Button)cmditem.FindControl(
"AddNewRecordButton"
);
ctrl.Enabled =
false
;
System.Web.UI.WebControls.LinkButton btn = (System.Web.UI.WebControls.LinkButton)cmditem.FindControl(
"InitInsertButton"
);
btn.Enabled =
false
;
string
content =
"Please select company first"
;
ScriptManager.RegisterStartupScript(
this
,
typeof
(
string
),
"Successful"
,
"alert('"
+ content +
"');"
,
true
);
}
else
{
RGGSTAcCode.Rebind();
}
}
HTML Code:
<
telerik:RadComboBox
ID
=
"ddlCompany"
runat
=
"server"
Height
=
"200"
Width
=
"240"
DropDownWidth
=
"310"
EmptyMessage
=
"- Select Product -"
HighlightTemplatedItems
=
"true"
CausesValidation
=
"false"
Filter
=
"Contains"
AppendDataBoundItems
=
"true"
AllowCustomText
=
"true"
AutoPostBack
=
"true"
DataTextField
=
"Title"
DataValueField
=
"Code"
OnSelectedIndexChanged
=
"ddlCompany_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
<
telerik:RadGrid
ID
=
"RGGSTAcCode"
runat
=
"server"
ShowFooter
=
"True"
GroupingEnabled
=
"False"
ShowStatusBar
=
"true"
EmptyDataText
=
"No record available."
AllowAutomaticInserts
=
"False"
AllowAutomaticUpdates
=
"False"
AllowAutomaticDeletes
=
"true"
OnNeedDataSource
=
"RGGSTAcCode_NeedDataSource"
OnItemDataBound
=
"RGGSTAcCode_ItemDataBound"
OnInsertCommand
=
"RGGSTAcCode_InsertCommand"
OnDeleteCommand
=
"RGGSTAcCode_DeleteCommand"
OnUpdateCommand
=
"RGGSTAcCode_UpdateCommand"
OnItemCommand
=
"RGGSTAcCode_ItemCommand"
>
<
mastertableview
ShowHeadersWhenNoRecords
=
"true"
autogeneratecolumns
=
"false"
datakeynames
=
"AccountCodeID"
InsertItemDisplay
=
"Top"
insertitempageindexaction
=
"ShowItemOnCurrentPage"
ShowFooter
=
"True"
CommandItemDisplay
=
"Top"
ClientIDMode
=
"Static"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
></
telerik:GridEditCommandColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"AccountCode"
HeaderText
=
"Account Code"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblAcCode"
runat
=
"server"
Text='<%# Eval("AccountCode")%>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:Label
ID
=
"lblAcCode2"
runat
=
"server"
Text='<%# Eval("AccountCode") + " - " + Eval("AccountDescription")%>' Visible="false"></
asp:Label
>
<
telerik:RadComboBox
ID
=
"ddlAccountCode"
runat
=
"server"
Height
=
"200"
Width
=
"240"
DropDownWidth
=
"310"
HighlightTemplatedItems
=
"true"
CausesValidation
=
"true"
Filter
=
"Contains"
AppendDataBoundItems
=
"true"
DataTextField
=
"AccountDescription"
DataValueField
=
"AccountCodeID"
>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"AccountDescription"
HeaderText
=
"Description"
UniqueName
=
"AccountDescription"
SortExpression
=
"AccountDescription"
InsertVisiblityMode
=
"AlwaysHidden"
ReadOnly
=
"true"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
aggregate
=
"SUM"
DataField
=
"Amount"
HeaderText
=
"Amount"
FooterAggregateFormatString
=
"Total : {0:###,##0.00}"
DataFormatString
=
"{0:n}"
FooterStyle-BackColor
=
"#ffc04c"
UniqueName
=
"Amount"
SortExpression
=
"Amount"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Remark"
HeaderText
=
"IFCA Remark"
UniqueName
=
"Remark"
SortExpression
=
"Remark"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ConfirmTextFormatString
=
"Are you sure you want to Delete {0} Account Code?"
ConfirmTextFields
=
"AccountCodeID"
ConfirmDialogType
=
"RadWindow"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"DeleteColumn"
></
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
ButtonType
=
"ImageButton"
/>
</
EditFormSettings
>
<
CommandItemSettings
AddNewRecordText
=
"Add new record"
RefreshText
=
"Refresh"
></
CommandItemSettings
>
</
mastertableview
>
</
telerik:RadGrid
>
Please let me know how to resolve. What shall I change in my code.
I have to populate/bind the RadComboBox (comboRadGrid) which is inside of RadGrid, based on the Items that are outside of RadGrid of RadComboBox (comboOutside). Please note that I am very new in Telerik and asp.net Please let me know how to modify my comboRadGrid binding code (based on outside Combo List items) so that this issue do not occur again ? Please reply
What browsers are supported for copying and pasting images into RadEditor as Base64 images. I know that for IE only IE 11 is supported but what about for Chrome or Firefox? What are the minimum versions.
Any help is appreciated. Thanks!
What browsers are supported for copying and pasting images into RadEdtor as Base64 images. I know that for IE only IE 11 is supported but what about for Chrome or Firefox? What are the minimum versions.
Any help is appreciated. Thanks!
Hi,
I have listview that works well with the definition below:
<
telerik:RadListView
ID
=
"lvwUserGroups"
runat
=
"server"
ItemPlaceholderID
=
"groupsPlaceholder"
OnNeedDataSource
=
"lvwUserGroups_NeedDataSource"
DataKeyNames
=
"GroupID"
>
<
LayoutTemplate
>
<
div
class="RadListView RadListView_<%# Master.SkinManager.Skin %>" >
<
table
class
=
"mainTable"
>
<
thead
>
<
tr
class
=
"rlvHeader"
>
<
th
class
=
"thcenter"
>Enabled</
th
>
<
th
>Group</
th
>
</
tr
>
</
thead
>
<
tbody
>
<
asp:PlaceHolder
id
=
"groupsPlaceholder"
runat
=
"server"
>
</
asp:PlaceHolder
>
</
tbody
>
</
table
>
</
div
>
</
LayoutTemplate
>
</
telerik:RadListView
>
protected
class
userGRPTemplate : ITemplate
{
private
ADScrubWeb.HTMLHelper helper =
new
ADScrubWeb.HTMLHelper();
public
userGRPTemplate()
{
}
public
void
InstantiateIn(Control container)
{
TableRow tr =
new
TableRow();
container.Controls.Add(tr);
helper.AddControlToParent(container, helper.AddBoundHiddenField(
"GroupID"
));
helper.AddControlToParent(tr, helper.AddBoundCheckBox(
"Enabled"
),
true
, HorizontalAlign.Center);
helper.AddControlToParent(tr, helper.AddBoundTextBox(
"GroupName"
, BorderStyle.None,
true
),
true
, HorizontalAlign.Left);
}
}
public
CheckBox AddBoundCheckBox(
string
controlID)
{
CheckBox tmp =
new
CheckBox();
tmp.ID = controlID;
tmp.DataBinding +=
delegate
(
object
sender, EventArgs args)
{
CheckBox control = ((CheckBox)sender);
RadListViewDataItem listViewDataItem = ((RadListViewDataItem)control.NamingContainer);
control.Checked = lsuGeneral.IsTrue(DataBinder.Eval(listViewDataItem.DataItem, controlID).ToString());
};
return
tmp;
}
I would like to react to the user clicking the bound checkbox so I can do auto-updates without the user clicking an update button. I tried wiring up the checkbox CheckedChange event in the ITemplate but that didn't fire, anyway I would still need to know which row's checkbox was clicked.
Any ideas?
Hi,
I have a couple of questions:
1. Is there a way to know when the ImageEditor is being closed by the user? i.e. when the user is clicking the cancel button or the X button?
2. When the ImageEditor is "closed", the underlying object is not yet disposed, is there a property of the object that can be used to check if it is closed ?
Thanks
Elie
We are using version 2014.1.403.35
IE 9
case 46: //Delete
if (!(event.srcElement.type == "text") && !(event.srcElement.type == "textarea")) {
GetGrid().get_masterTableView().fireCommand("Cancel", "");
radconfirm(prompt, clientCallBackFunc);
}
break;
Thanks
Muhammad
Hello,
is it somehow possible to sort the tasks e.g. by start date. It seems that it's only possible to sort the tasks inside the gantt by custom columns when using a custom gantt provider. Sorting by a standard column like title or start date is ignored. Thanks.
Regards,
Felix