Jul 16, 2014, 4:45 PM
.initSelection() appears to accept a single value, does it not?
combo.initSelection([{
value: 1
}, {
value: 2
}]);
combo.initSelection([{
value: 1
}, {
value: 2
}]);
MultiCombo1.Clear();
MultiCombo1.SelectedItems.Clear();
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "1" });
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "2" });
MultiCombo1.UpdateSelection();
If I drop either one or both of them, I get problems with highlighting or item appendment instead of addition (the latter makes sense).MultiCombo1.SelectedItems.Clear();
should be required, because a SelectedItems collection takes actual selection from POST.MultiCombo1.Clear();
I think it should not be required and it appears to be working well for me without that call. If you have time to provide me with a test case and describe exact steps, I could look at.<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
Store1.DataSource = new object[]
{
new object[] { 1, "test1" },
new object[] { 2, "test2" },
new object[] { 3, "test3" },
new object[] { 4, "test4" }
};
Store1.DataBind();
}
}
[DirectMethod]
public void SelectRecordServer()
{
Store1.DataSource = new object[]
{
new object[] { 1, "test1" },
new object[] { 2, "test2" },
new object[] { 3, "test3" },
new object[] { 4, "test4" }
};
Store1.DataBind();
//MultiCombo1.Clear();
MultiCombo1.SelectedItems.Clear();
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "1" });
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "2" });
MultiCombo1.UpdateSelection();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Ext.NET Example</title>
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder1" runat="server" Mode="Script" />
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder2" runat="server" Mode="Style" />
<script type="text/javascript">
var selectRecordServer = function () {
try {
X.SelectRecordServer({
eventMask: { showMask: true },
success: function () {
}
});
} catch (e) {
}
};
</script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" DirectMethodNamespace="X" />
<ext:FormPanel runat="server" Width="400">
<Items>
<ext:MultiCombo ID="MultiCombo1" runat="server" Width="260" DisplayField="Description" ValueField="ID" EnableKeyEvents="true" Delimiter=";" SelectionMode="All" Mode="Local"
SelectOnFocus="true" FieldLabel="Items" EmptyText="Select Items...">
<Store>
<ext:Store ID="Store1" AutoLoad="true" runat="server">
<Reader>
<ext:ArrayReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="Description" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
</ext:MultiCombo>
</Items>
<BottomBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button runat="server" Text="Select Item (Server)">
<Listeners>
<Click Fn="selectRecordServer" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:FormPanel>
</form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
Store1.DataSource = new object[]
{
new object[] { 1, "test1" },
new object[] { 2, "test2" },
new object[] { 3, "test3" },
new object[] { 4, "test4" }
};
Store1.DataBind();
}
}
[DirectMethod]
public void SelectRecordServer()
{
Store1.DataSource = new object[]
{
new object[] { 1, "test1" },
new object[] { 2, "test2" },
new object[] { 3, "test3" },
new object[] { 4, "test4" }
};
Store1.DataBind();
//MultiCombo1.Clear();
MultiCombo1.SelectedItems.Clear();
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "1" });
MultiCombo1.SelectedItems.Add(new Ext.Net.SelectedListItem { Value = "2" });
MultiCombo1.UpdateSelection();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Ext.NET Example</title>
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder1" runat="server" Mode="Script" />
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder2" runat="server" Mode="Style" />
<script type="text/javascript">
var selectRecordServer = function () {
try {
X.SelectRecordServer({
eventMask: { showMask: true },
success: function () {
}
});
} catch (e) {
}
};
</script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" DirectMethodNamespace="X" />
<ext:FormPanel runat="server" Width="400">
<Items>
<ext:MultiCombo ID="MultiCombo1" runat="server" Width="260" DisplayField="Description" ValueField="ID" EnableKeyEvents="true" Delimiter=";" SelectionMode="All" Mode="Local"
SelectOnFocus="true" FieldLabel="Items" EmptyText="Select Items...">
<Store>
<ext:Store ID="Store1" AutoLoad="true" runat="server">
<Reader>
<ext:ArrayReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="Description" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
</Store>
</ext:MultiCombo>
</Items>
<BottomBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button runat="server" Text="Select Items">
<Listeners>
<Click Fn="selectRecordServer" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:FormPanel>
</form>
</body>
</html>