Hi @osef,
A developer can load the items to a ComboBox via its Items or Store. In some scenarios it might be needed to combine Items and Store. Though, I would not recommend to do that.
AlwaysMergeItems="true" (by default) means that on each Store Load event, the Store's data is merged with the Items. AlwaysMergeItems="false" means that they are merged on the first load only.
Please look at this example.
1. Expand the ComboBox
2. You can see all the items.
3. Click the Reload Button.
4. Expand the ComboBox.
5. You can use that the "Some ListItem" has gone.
Then please try the same with AlwaysMergeItems="true".
Generally speaking, it is a very specific functionality and it is very unlike you'll need to use it ever.
Example
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Store_ReadData(object sender, StoreReadDataEventArgs e)
{
Store store = sender as Store;
store.DataSource = new object[]
{
new object[] { "1", "Item 1" },
new object[] { "2", "Item 2" },
new object[] { "3", "Item 3" }
};
}
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Ext.NET v2 Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:ComboBox
ID="ComboBox1"
runat="server"
DisplayField="text"
ValueField="value"
AlwaysMergeItems="false">
<Store>
<ext:Store runat="server" OnReadData="Store_ReadData" AutoLoad="false">
<Proxy>
<ext:PageProxy>
<Reader>
<ext:ArrayReader />
</Reader>
</ext:PageProxy>
</Proxy>
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="value" />
<ext:ModelField Name="text" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Items>
<ext:ListItem Text="Some ListItem" />
</Items>
</ext:ComboBox>
<ext:Button runat="server" Text="Reload" Handler="App.ComboBox1.store.reload();" />
</form>
</body>
</html>