<item name="PostalAddressState" displaySource="" dataSource="" label="State" control="DropDownList" direction="Horizontal" required="True" entityColumnName="Address.State" entityType="PostalAddress" width="80px"> |
<field label="Select" value="0" selected="False" fieldType="String" goTo=""/> |
<field label="ACT" value="ACT" selected="False" fieldType="String" goTo=""/> |
<field label="NSW" value="NSW" selected="False" fieldType="String" goTo=""/> |
<field label="NT" value="NT" selected="False" fieldType="String" goTo=""/> |
<field label="QLD" value="QLD" selected="False" fieldType="String" goTo=""/> |
<field label="SA" value="SA" selected="False" fieldType="String" goTo=""/> |
<field label="TAS" value="TAS" selected="False" fieldType="String" goTo=""/> |
<field label="VIC" value="VIC" selected="False" fieldType="String" goTo=""/> |
<field label="WA" value="WA" selected="True" fieldType="String" goTo=""/> |
</item> |
<telerik:RadComboBox id="rcb{@id}" runat="server" Skin="WebBlue" AllowCustomText="false" MarkFirstMatch="true" |
HighlightTemplatedItems="true" width="{@width}" EnableItemCaching="false"> |
<items> |
<xsl:for-each select="field"> |
<xsl:choose> |
<xsl:when test="@selected='True'"> |
<telerik:RadComboBoxItem Value="{@value}" Selected="{@selected}" text="{@label}" /> |
</xsl:when> |
<xsl:otherwise> |
<telerik:RadComboBoxItem Value="{@value}" text="{@label}" /> |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
</items> |
</telerik:RadComboBox> |
<telerik:RadComboBox id="rcbID24" runat="server" Skin="WebBlue" AllowCustomText="false" MarkFirstMatch="true" HighlightTemplatedItems="true" width="100px" EnableItemCaching="false"> |
<items> |
<telerik:RadComboBoxItem Value="0" text="Select" /> |
<telerik:RadComboBoxItem Value="Br" text="Br" /> |
<telerik:RadComboBoxItem Value="Captain" Selected="True" text="Captain" /> |
<telerik:RadComboBoxItem Value="Dr" text="Dr" /> |
<telerik:RadComboBoxItem Value="Father" text="Father" /> |
<telerik:RadComboBoxItem Value="Miss" text="Miss" /> |
<telerik:RadComboBoxItem Value="Mr" text="Mr" /> |
<telerik:RadComboBoxItem Value="Mrs" text="Mrs" /> |
<telerik:RadComboBoxItem Value="Ms" text="Ms" /> |
<telerik:RadComboBoxItem Value="Professor" text="Professor" /> |
<telerik:RadComboBoxItem Value="Rev" text="Rev" /> |
<telerik:RadComboBoxItem Value="Sir" text="Sir" /> |
<telerik:RadComboBoxItem Value="Sr" text="Sr" /> |
<telerik:RadComboBoxItem Value="The Hon." text="The Hon." /> |
</items> |
</telerik:RadComboBox> |
// transformedContent is the output from xslt. | |
string transformedContent = obj.GetHtml(Context); | |
Control ctrl = new Control(); | |
ctrl = Page.ParseControl(transformedContent); | |
// Debug statement to show that the combobox in question retains the correct selected value. | |
foreach (Control ccc in ctrl.Controls) | |
{ | |
if (ccc is RadComboBox && ccc.ID == "rcbID24") | |
{ | |
string vvv = ((RadComboBox)ccc).SelectedValue; | |
} | |
} | |
// Clear and dispose of any controls from any previously parsed node. | |
pclXmlOutput.Controls.Clear(); | |
pclXmlOutput.Dispose(); | |
// Add the NEW control. | |
pclXmlOutput.Controls.Add(ctrl); | |
// Check to see if the comboBox has changed its value. | |
foreach (Control ccc in ctrl.Controls) | |
{ | |
if (ccc is RadComboBox && ccc.ID == "rcbID24") | |
{ | |
string vvv = ((RadComboBox)ccc).SelectedValue; | |
} | |
} |
protected
void rgMembers_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem edititem = (GridEditableItem)e.Item;
/ /validate Percentage
GridTextBoxColumnEditor editorP = (GridTextBoxColumnEditor)edititem.EditManager.GetColumnEditor("Percentage");
TableCell cellP = (TableCell)editorP.TextBoxControl.Parent;
RangeValidator validatorP = new RangeValidator();
validatorP.ID =
"rgvPercentage";
validatorP.ControlToValidate = editorP.TextBoxControl.ID; //<-- Value is NULL
validatorP.Type =
ValidationDataType.Double;
validatorP.Display =
ValidatorDisplay.Dynamic;
validatorP.ErrorMessage =
"<br/>% must be between 0 and 100.";
validatorP.MinimumValue =
"0";
validatorP.MaximumValue =
"100";
cellP.Controls.Add(validatorP);
}
Why is the TextBoxControl.ID null ?
Seems to work with other type fields (i.e RadDatePicker.ID)
Thanks
protected
void
partnerGrid_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridPagerItem)
{
RadComboBox pageSize = (RadComboBox)e.Item.FindControl(
"PageSizeComboBox"
);
RadComboBoxItem rcbItem100 = pageSize.FindItemByText(
"100"
);
RadComboBoxItem rcbItem200 = pageSize.FindItemByText(
"200"
);
if
(rcbItem100 ==
null
)
{
pageSize.Items.Add(
new
RadComboBoxItem(
"100"
));
pageSize.FindItemByText(
"100"
).Attributes.Add(
"ownerTableViewId"
, partnerGrid.MasterTableView.ClientID);
}
if
(rcbItem200 ==
null
)
{
pageSize.Items.Add(
new
RadComboBoxItem(
"200"
));
pageSize.FindItemByText(
"200"
).Attributes.Add(
"ownerTableViewId"
, partnerGrid.MasterTableView.ClientID);
}
pageSize.SelectedValue = partnerGrid.PageSize.ToString();
}
}
Inexplicably, ItemCreated is fired four times when the pagesize is changed. I suppose two are for each pager (even though
it's set to top-only, the bottom pager is still there), but I can't fathom the last two.
Worse, on the 3rd and 4th invocations of ItemCreated, the combobox has remembered the standard three (10, 20, 50) plus whatever
was selected, but has lost the unselected one. So, if the user goes directly to 200, when the grid re-renders
it shows 100 below 200 (as it was added but 200 was already there).
Secondly, on subsequent postbacks, the combobox will not accept a selectedValue of whatever the fifth item is now
and keeps defaulting to 10. The grid's page size is fine, so the query gets the appropriate number of items,
we just show 10 in the pulldown instead of the number they actually chose.
The ajax is really simple:<
telerik:AjaxSetting
AjaxControlID
=
"partnerGrid"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"partnerGrid"
LoadingPanelID
=
"gridLoadingPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
Anytime we do something in the grid, show the loading panel while we're thinking about it. It seems as if
something's wrong in ajax land, but it can't be simpler than that.
<telerik:RadOrgChart ID="OrgChart" runat="server" DataFieldID="ID" DataFieldParentID="ParentID" Enabled="true" Width="100%">
<RenderedFields>
<ItemFields>
<telerik:OrgChartRenderedField DataField="BusinessTitle" />
<telerik:OrgChartRenderedField DataField="EmployeeName" />
</ItemFields>
</RenderedFields>
</telerik:RadOrgChart>
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
Width
=
"130px"
>
<
Items
>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Right Chest"
Value
=
"Right Chest"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Left Chest"
Value
=
"Left Chest"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"On Pocket"
Value
=
"On Pocket"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Full Front - Centered"
Value
=
"Full Front - Centered"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Front Location - Other"
Value
=
"Front Location - Other"
/>
</
Items
>
</
telerik:RadComboBox
>