Jun 25, 2014, 7:38 PM
[CLOSED] Fill Combobox inside Grid Panel and populate other fields with its selection change event
@using Ext.Net.MVC
@using Ext.Net
@{
ViewBag.Title = "Confirm MessageBox with ButtonsConfig - Ext.NET MVC Examples";
Layout = null;
var X = Html.X();
}
<script>
var addPlant = function () {
var r = Ext.create('Plant', {
//common: 'New Plant 1',
//light: 'Mostly Shady',
//price: 0,
//availability: Ext.Date.clearTime(new Date()),
//indoor: false
}),
grid = App.gridpanel;
grid.store.insert(0, r);
grid.editingPlugin.startEditByPosition({ row: 0, column: 0 });
};
Ext.onReady(function () {
// alert('hello world');
addPlant();
});
</script>
</script>
@X.ResourceManager()
@(
Html.X().GridPanel().ColSpan(4)
.ID("gridpanel")
.Width(600)
.Height(300)
.Border(false)
.Title("Edit Plants")
.Header(false)
// .Layout(LayoutType.Fit)
.Frame(true)
.Listeners(l =>
{
l.ViewReady.Fn = "addPlant";
l.ViewReady.Delay = 1;
})
.Store(
Html.X().Store().ID("Store1")
.Model(
Html.X().Model().ID("Model1")
.Name("PR")
.Fields(
Html.X().ModelField().Name("MaterialID").Type(ModelFieldType.Int),
Html.X().ModelField().Name("UOMCode").Type(ModelFieldType.Int),
Html.X().ModelField().Name("avaiablestock").Type(ModelFieldType.Float),
Html.X().ModelField().Name("requireqty").Type(ModelFieldType.Float),
Html.X().ModelField().Name("UnitRate").Type(ModelFieldType.Float),
Html.X().ModelField().Name("totalvalue").Type(ModelFieldType.Float),
Html.X().ModelField().Name("approvedqty").Type(ModelFieldType.Float),
Html.X().ModelField().Name("approvedunitrate").Type(ModelFieldType.Float),
Html.X().ModelField().Name("approvedtotalvalue").Type(ModelFieldType.Float)
)
)
)
.ColumnModel(
Html.X().Column()
.MenuDisabled(true)
.Sortable(false)
.Text("Material")
.DataIndex("MaterialID")
.Width(130)
.Editor(
Html.X().ComboBox()
.ID("ddlMaterialID")
.TypeAhead(true)
.SelectOnTab(true)
.ValueField("MaterialID")
.DisplayField("MaterialName")
.Data(ViewBag.loadddlMaterialID)
),
Html.X().Column()
.MenuDisabled(true)
.Sortable(false)
.Text("UOM")
.DataIndex("UOMCode")
.Width(130)
.Editor(
Html.X().ComboBox()
.ID("ddlUOMCode")
.TypeAhead(true)
.SelectOnTab(true)
.ValueField("UOMCode")
.DisplayField("UOMName")
.Data(ViewBag.loadddlUOMCode)
),
Html.X().Column()
.Text("Avaiable Stock")
.DataIndex("avaiablestock")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Require QTY")
.DataIndex("requireqty")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Unit Rate")
.DataIndex("unitrate")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Total Value")
.DataIndex("totalvalue")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Approved Qty")
.DataIndex("approvedqty")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Approved Unit Rate")
.DataIndex("approvedunitrate")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().Column()
.Text("Approved Total Value")
.DataIndex("approvedtotalvalue")
.Flex(1)
.Editor(
Html.X().NumberField().AllowBlank(false).Disabled(true)
),
Html.X().DateColumn()
.Text("Available")
.DataIndex("availability")
.Width(95)
.Format("dd-MM-yyyy")
.Editor(
Html.X().DateField()
.Format("yyyy-MM-dd")
.MinDate(new DateTime(2006, 1, 1))
.DisabledDays(new int[] { 0, 6 })
.DisabledDaysText("Plants are not available on the weekends")
),
Html.X().CheckColumn()
.Text("Indoor?")
.DataIndex("indoor")
.StopSelection(false)
.Editable(true)
.Width(55),
Html.X().ImageCommandColumn()
.Width(30)
.Commands(
Html.X().ImageCommand()
.Icon(Icon.Decline)
.ToolTip(t =>
{
t.Text = "Delete plant";
})
.CommandName("delete")
)
.Listeners(l =>
{
l.Command.Handler = "this.up('gridpanel').store.removeAt(recordIndex);";
})
)
.SelectionModel(
Html.X().CellSelectionModel()
)
.Plugins(
Html.X().CellEditing().ClicksToEdit(1)
)
)
I generate a view with above code,now I want to populate ddlMaterialID combo box with .Data(ViewBag.loadddlMaterialID) property ,and want o populate other fields of same row on ddlMaterialID selection changed event.please let me know how do i do this.
Last edited by Daniil; Jul 01, 2014 at 10:38 AM.
Reason: [CLOSED]