Originally Posted by
Daniil
Example
<Select Handler="var value = records[0].get(this.valueField), // a selected value of the current ComboBox
column2 = App.ComponentColumn2, // a column with another ComboBox
rowIndex = this.column.rowIndex, // an index of the current row
comboBox2 = column2.getComponent(rowIndex); // a ComboBox of another column in the same row
comboBox2.setValue(value); // here you should organize loading" />
Thanks Daniil. Its working.
I am having one more issue. The corresponding stateid and cityid is not selecting in the gridpanel combobox and it shows the id value and even the corresponding id is not selected in the combobox
(Please see the screen shot for more information)
I have enclosed the code below.
@Html.X().Hidden().ID("CoverageAreaList")
@(
Html.X().GridPanel()
.ID("gvCoverageArea")
.Title("Coverage Area<span class='red'>*</span>")
.Width(500)
.Height(200)
.Listeners(listen => { listen.SelectionChange.Fn = "selectionchange"; })
.Store(Html.X().Store().ID("CoverageAreaStore")
.Model(Html.X().Model().IDProperty("RowId")
.Fields(
new ModelField("StateId", ModelFieldType.Int) { Mapping = "StateId" },
new ModelField("CityId", ModelFieldType.Int) { Mapping = "CityId" },
new ModelField("StateName", ModelFieldType.Int) { Mapping = "StateName" },
new ModelField("CityName", ModelFieldType.Int) { Mapping = "CityName" },
new ModelField("RowId"),
new ModelField("Id", ModelFieldType.Int)
)
)
.DataSource(new CoverageAreaExtension().Parse(Model.SupplierCoverageList))
)
.ColumnModel(
Html.X().ComponentColumn().ID("StateColumn")
.Editor(true)
.Width(200)
.DataIndex("StateId")
.Flex(1)
.Text("State")
.Selectable(true)
.Component(Html.X().ComboBox()
.ID("StateComboBox")
.Editable(false)
.QueryMode(DataLoadMode.Remote)
.TriggerAction(TriggerAction.All)
.SelectOnFocus(true)
.TypeAhead(true)
.QueryMode(DataLoadMode.Local)
.DisplayField("name")
.LabelSeparator("")
.ValueField("id")
.EmptyText("-- Select State --")
.ValueNotFoundText("Loading...")
.Width(190)
.Store(Html.X().Store()
.AutoLoad(true)
.Model(Html.X().Model()
.IDProperty("Id")
.Fields(
new ModelField("id", ModelFieldType.String) { Mapping = "Id" },
new ModelField("name", ModelFieldType.String) { Mapping = "Name" }
)
)
.Proxy(Html.X()
.AjaxProxy()
.Url(Url.Content("~/AjaxData/GetStates/")
)
.Reader(Html.X().JsonReader().Root("data")))
)
.Listeners(listen =>
{
listen.Select.Fn = "onSelectChange";
})
)
,
Html.X().ComponentColumn().ID("CityColumn")
.Editor(true)
.Width(200)
.DataIndex("CityId")
.Flex(1)
.Text("City")
.Component(Html.X().ComboBox()
.ID("cityComboBox")
.Editable(false)
.QueryMode(DataLoadMode.Remote)
.TriggerAction(TriggerAction.All)
.SelectOnFocus(true)
.TypeAhead(true)
.QueryMode(DataLoadMode.Local)
.DisplayField("name")
.LabelSeparator("")
.ValueField("id")
.EmptyText("-- Select City --")
.ValueNotFoundText("Loading...")
.Width(190)
.Listeners(listen => { listen.BeforeQuery.Fn = "onCityQuery"; })
.Store(Html.X().Store()
.AutoLoad(false)
.Model(Html.X().Model()
.IDProperty("Id")
.Fields(
new ModelField("id", ModelFieldType.String) { Mapping = "Id" },
new ModelField("name", ModelFieldType.String) { Mapping = "Name" }
)
)
.Proxy(Html.X()
.AjaxProxy()
.Url(Url.Content("~/AjaxData/GetAllCitiesByStateIdAjaxData"))
.Reader(Html.X().JsonReader().Root("data")))
.Parameters(ps =>
ps.Add(new StoreParameter("stateid", "getStateId()", ParameterMode.Raw))
)
)
)
,
Html.X().CommandColumn()
.Align(Alignment.Center)
.Width(50)
.Commands(
Html.X().GridCommand()
.CommandName("Delete")
.Icon(Icon.Cross)
.ToolTip(tt => tt.Text = "Remove")
)
.Listeners(ls => ls.Command.Fn = "RemoveCoverageArea")
)
.BottomBar(gvBottomBar =>
{
gvBottomBar.Add(Html.X().Toolbar().ID("CoverageAreaToolbar").Items(tools =>
{
tools.Add(Html.X().Button().Text("Add Additional Coverage Area").Icon(Ext.Net.Icon.Add).Listeners(len =>
{
len.Click.Handler = "AddCoverageArea();";
}));
tools.Add(Html.X().Button().Text("Save Coverage Area").Icon(Ext.Net.Icon.Add).Listeners(len =>
{
len.Click.Handler = "saveCoverageArea();";
}));
})
);
})
)