ASPxDataWebControlBase.DataBound Event
Occurs after the server control is bound to a data source.
Namespace: DevExpress.Web
Assembly: DevExpress.Web.v25.1.dll
NuGet Package: DevExpress.Web
Declaration
Event Data
The DataBound event's data class is EventArgs.
Remarks
This event notifies the server control that data binding was completed.
The following code snippet handles DataBound
events to add none elements to ComboBox editors after they are bound to data:
<script type="text/javascript">
function OnTechnologyChanged(control) {
cbProduct.SetSelectedIndex(0);
cbVersion.SetSelectedIndex(0);
CheckControlsEnabled();
if (control.GetValue() != "")
cbProduct.PerformCallback(control.GetText());
}
function OnProductComboBoxEndCallback(control) {
control.SetFocus();
}
function OnProductChanged(control) {
cbVersion.SetSelectedIndex(0);
CheckControlsEnabled();
if (control.GetValue() != "")
window.setTimeout(function () {
cbVersion.SetFocus();
}, 100);
}
function CheckControlsEnabled() {
cbProduct.SetEnabled(cbTechnology.GetSelectedIndex() > 0);
cbVersion.SetEnabled(cbProduct.GetSelectedIndex() > 0);
}
</script>
<dx:ASPxLabel ID="lblTechnology" runat="server" Text="Technology:" AssociatedControlID="cbTechnology" />
<dx:ASPxComboBox ID="cbTechnology" ClientInstanceName="cbTechnology" runat="server" Width="200px"
TextField="Name" SelectedIndex="0" DataSourceID="xmlTechnology"
OnDataBound="cbTechnology_DataBound">
<ClientSideEvents SelectedIndexChanged="OnTechnologyChanged" />
</dx:ASPxComboBox>
<dx:ASPxLabel ID="lblProduct" runat="server" Text="Product:" AssociatedControlID="cbProduct" />
<dx:ASPxComboBox ID="cbProduct" ClientInstanceName="cbProduct" runat="server" Width="200px"
TextField="Name" SelectedIndex="0" DataSourceID="xmlProduct" OnCallback="cbProduct_Callback"
OnDataBound="cbProduct_DataBound" >
<ClientSideEvents SelectedIndexChanged="OnProductChanged" EndCallback="OnProductComboBoxEndCallback" />
</dx:ASPxComboBox>
<dx:ASPxLabel ID="lblVersion" runat="server" Text="Version:" AssociatedControlID="cbVersion" />
<dx:ASPxComboBox ID="cbVersion" ClientInstanceName="cbVersion" runat="server" Width="200px" SelectedIndex="0">
<Items>
<dx:ListEditItem Text="(none)" Value="none" />
<dx:ListEditItem Text="v2016 vol2.0" Value="v16.2" />
<dx:ListEditItem Text="v2017 vol1.0" Value="v17.1" />
<dx:ListEditItem Text="v2017 vol2.0" Value="v17.2" />
</Items>
</dx:ASPxComboBox>
protected void Page_Load(object sender, EventArgs e) {
if(!IsCallback) {
cbProduct.SelectedIndex = 0;
cbProduct.ClientEnabled = false;
cbVersion.SelectedIndex = 0;
cbVersion.ClientEnabled = false;
}
}
protected void SetNullItem(object control) {
ASPxComboBox cb = (ASPxComboBox)control;
if(cb != null) {
ListEditItem item = new ListEditItem("(none)", "");
cb.Items.Insert(0, item);
cb.SelectedItem = item;
}
}
protected void cbTechnology_DataBound(object sender, EventArgs e) {
SetNullItem(sender);
}
protected void cbProduct_DataBound(object sender, EventArgs e) {
SetNullItem(sender);
}
protected void cbProduct_Callback(object source, CallbackEventArgsBase e) {
xmlProduct.XPath = string.Format("//Technology[@Name='{0}']/Product", e.Parameter);
DataBind();
}
See Also