<
telerik:RadSiteMap
runat
=
"server"
ID
=
"RadSiteMap1"
DataFieldID
=
"ID"
DataFieldParentID
=
"ParentID"
DataTextField
=
"Text"
ShowNodeLines
=
"true"
>
<
DataBindings
>
<
telerik:RadSiteMapNodeBinding
NavigateUrl
=
"#"
/>
</
DataBindings
>
</
telerik:RadSiteMap
>
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadSiteMap1.DataSource = SiteDataItem.GetSiteData();
RadSiteMap1.DataBind();
}
/// <summary>
/// Método que encapsula os atributos e monta a lista.
/// </summary>
public
class
SiteDataItem
{
private
string
_text;
private
int
_parentId;
private
int
prvID;
private
string
prvLink;
/// <summary>
/// Descrição dos nodes
/// </summary>
public
string
Text
{
get
{
return
_text; }
set
{ _text = value; }
}
/// <summary>
/// ID do node
/// </summary>
public
int
ID
{
get
{
return
prvID; }
set
{ prvID = value; }
}
/// <summary>
/// ID de node pai
/// </summary>
public
int
ParentID
{
get
{
return
_parentId; }
set
{ _parentId = value; }
}
/// <summary>
/// Atribui valor aos campos.
/// </summary>
/// <param name="ID"></param>
/// <param name="nivel0"></param>
/// <param name="nivel1"></param>
/// <param name="nivel2"></param>
/// <param name="nivel3"></param>
/// <param name="nivel4"></param>
/// <param name="text"></param>
/// int ID, int nivel0, int nivel1, int nivel2, int nivel3, int nivel4,
public
SiteDataItem(
int
id,
int
parentId,
string
text)
{
//prvNivel0 = nivel0;
//prvNivel1 = nivel1;
//prvNivel2 = nivel2;
//prvNivel3 = nivel3;
//prvNivel4 = nivel4;
prvID = id;
_parentId = parentId;
_text = text;
}
/// <summary>
/// Monta a lista TreeView.
/// </summary>
/// <returns>Lista com dados TreeView.</returns>
public
static
List<SiteDataItem> GetSiteData()
{
List<SiteDataItem> siteData =
new
List<SiteDataItem>();
siteData.Add(
new
SiteDataItem(1, 0,
"Products"
));
siteData.Add(
new
SiteDataItem(2, 1,
"RadControls for ASP.NET Ajax"
));
siteData.Add(
new
SiteDataItem(3, 1,
"RadControls for Silverlight"
));
siteData.Add(
new
SiteDataItem(4, 2,
"RadGrid"
));
siteData.Add(
new
SiteDataItem(5, 2,
"RadScheduler"
));
siteData.Add(
new
SiteDataItem(6, 2,
"RadEditor"
));
siteData.Add(
new
SiteDataItem(7, 3,
"RadGrid"
));
siteData.Add(
new
SiteDataItem(8, 3,
"RadMenu"
));
siteData.Add(
new
SiteDataItem(9, 3,
"RadEditor"
));
return
siteData;
}
}
if (saParam[1] == 'Always')
{
AlwaysRadioButton.Checked =
true;
ConnectionNameTextBox.ReadOnly =
true;
InitiateConnectionCheckBox.Enabled =
false;
WaitRadNumericTextBox.Enabled =
false;
DelayRadNumericTextBox.Enabled =
false;
}
else if (saParam[1] == 'Any')
{
RunIfAnyRadioButton.Checked =
true;
ConnectionNameTextBox.ReadOnly =
true;
InitiateConnectionCheckBox.Enabled =
false;
WaitRadNumericTextBox.Enabled =
true;
DelayRadNumericTextBox.Enabled =
true;
}
else if (saParam[1] == 'Specific')
{
SpecificRadioButton.Checked =
true;
ConnectionNameTextBox.ReadOnly =
false;
InitiateConnectionCheckBox.Enabled =
true;
WaitRadNumericTextBox.Enabled =
true;
DelayRadNumericTextBox.Enabled =
true;
}
javascript:
function
DisableDelayWaitControls( bDisabled )
{
var ntbDelay = $find( "CriteriaDelayRadNumericTextBox" );
var ntbDelayUp = document.getElementById( "CriteriaDelayRadNumericTextBox" + "_SpinUpButton" );
var ntbDelayDown = document.getElementById( "CriteriaDelayRadNumericTextBox" + "_SpinDownButton" );
var ntbWait = $find( "CriteriaWaitRadNumericTextBox" );
var ntbWaitUp = document.getElementById( "CriteriaWaitRadNumericTextBox" + "_SpinUpButton");
var ntbWaitDown = document.getElementById( "CriteriaWaitRadNumericTextBox" + "_SpinDownButton" );
ntbDelay.disabled = bDisabled;
ntbWait.disabled = bDisabled;
ntbDelay._textBoxElement.disabled = bDisabled;
ntbDelayUp.disabled = bDisabled;
ntbDelayDown.disabled = bDisabled;
ntbWait._textBoxElement.disabled = bDisabled;
ntbWaitUp.disabled = bDisabled;
ntbWaitDown.disabled = bDisabled;
}
If the 'Always' code branch is executed I can never enable my controls in javascript.?????
var
tbConnectionName = document.getElementById( "ConnectionNameTextBox" );
var cbInitiate = document.getElementById( "InitiateConnectionCheckBox" );
var tb = $telerik.toTextBox( tbConnectionName );
//tb._textBoxElement.readOnly = true;
var e = tb.get_element;
tbConnectionName.readonly =
true;
cbInitiate.disabled = bDisabled;
Disabling the cbInitiate object works fine, but none of my attempts to set readonly
on the tbConnectionName object have been successful.
BTW here is the corresponding HTML:
<div style="width:85%; float:right;">
<telerik:RadTextBox
ID="ConnectionNameTextBox"
ClientIDMode="Static"
MaxLength="80"
runat="server"
Width="300px" TabIndex="4" />
</div>
<div style="width:85%; float:right;">
<asp:CheckBox ID="InitiateConnectionCheckBox" runat="server"
AutoPostBack="True"
AccessKey="I"
ClientIDMode="Static"
OnCheckedChanged="InitiateConnectionCheckBoxClicked"
TabIndex="5" Text="Initiate a connection if not already connected" />
</div>
Right now I am considering maing an Ajax request in my onclick event and setting
the property in server side code. We can set ReadOnly quite successfully all over the place in server side code. Doing this seems excessive though.
Any help greatly appreaciated.