Yes, it is a client side solution and there is no a direct code behind counterpart for that.
I can suggest this solution.
Example
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
Store store = this.ComboBox1.GetStore();
store.DataSource = new object[]
{
new object[] { "1", "Item 1" },
new object[] { "2", "Item 2" },
new object[] { "3", "Item 3" }
};
}
}
protected void SetYellow(object sender, DirectEventArgs e)
{
X.Js.Call("setBackgroundColor", new JRawValue(this.ComboBox1.ClientID), "yellow");
}
protected void SetGreen(object sender, DirectEventArgs e)
{
X.Js.Call("setBackgroundColor", new JRawValue(this.ComboBox1.ClientID), "green");
}
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Ext.NET v2 Example</title>
<script>
var setBackgroundColor = function (comboBox, color) {
comboBox.inputEl.setStyle({
"background-image": "none",
"background-color": color
});
};
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:Button runat="server" Text="Set yellow" OnDirectClick="SetYellow" />
<ext:Button runat="server" Text="Set green" OnDirectClick="SetGreen" />
<ext:ComboBox
ID="ComboBox1"
runat="server"
DisplayField="text"
ValueField="value">
<Store>
<ext:Store runat="server">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="value" />
<ext:ModelField Name="text" />
</Fields>
</ext:Model>
</Model>
<Reader>
<ext:ArrayReader />
</Reader>
</ext:Store>
</Store>
</ext:ComboBox>
</form>
</body>
</html>