Jan 18, 2013, 3:27 PM
I would try like this.
Example View
Example View
<!DOCTYPE html>
<html>
<head>
<title>Ext.Net.MVC v2 Example</title>
</head>
<body>
@Html.X().ResourceManager()
@(Html.X().GridPanel()
.Height(200)
.Store(Html.X().Store()
.Model(Html.X().Model()
.Fields(Html.X().ModelField().Name("test"))
)
.Proxy(Html.X().AjaxProxy()
.Url(Url.Action("GetDataForGridPanel"))
.Reader(Html.X().JsonReader().Root("data"))
)
)
.ColumnModel(Html.X().Column()
.Text("Test")
.DataIndex("test")
.Editor(Html.X().ComboBox()
.DisplayField("text")
.ValueField("value")
.Store(Html.X().Store()
.AutoLoad(false)
.Model(Html.X().Model()
.Fields("value", "text")
)
.Proxy(Html.X().AjaxProxy()
.Reader(Html.X().JsonReader().Root("data"))
.CustomConfig(cc => cc.Add(new { rawUrl = Url.Action("GetDataForComboBox") }))
)
)
)
)
.Plugins(Html.X().CellEditing()
.Listeners(events =>
{
events.BeforeEdit.Handler = @"var field = this.getEditor(e.record, e.column).field;
proxy = field.getStore().proxy;
delete field.lastQuery;
proxy.url = proxy.rawUrl + '/' + e.value;";
})
)
)
</body>
</html>