Hi there,
I've created a grid which bounds on a "Special" object, which has "real" properties and a list of variable properties.
This is the (single) object:
public class DynPartView
{
Guid _Id;
public Guid Id
{
get { return _Id; }
set { _Id = value; }
}
List<
Prop
> _Properties;
public List<
Prop
> Properties
{
get { return _Properties; }
set { _Properties = value; }
}
...snip...
string _Standard;
public string Standard
{
get { return _Standard; }
set { _Standard = value; }
}
string _SelectedMKL;
public string SelectedMKL
{
get { return _SelectedMKL; }
set { _SelectedMKL = value; }
}
string _SelectedManufacturer;
public string SelectedManufacturer
{
get { return _SelectedManufacturer; }
set { _SelectedManufacturer = value; }
}
}
And this is the view:
@(Html.Kendo().Grid(Model)
.Name("partgrid")
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(false)
.Model(m =>
{
int y;
m.Id(d=>d.Id);
m.Field(f => f.SelectedMKL);
m.Field(f => f.SelectedManufacturer);
m.Field(f => f.Standard).Editable(false);
for (y = 0; y <= Model.PropertiesCount; y++)
m.Field(f => f.Properties[y].Value);
})
.Read(read => read.Action("Read_DynParts", "Parts", new { typeID = _typeid, mklName = _name }))
.Create(create => create.Action("EditingInline_Create", "Parts"))
.Update(update => update.Action("EditingInline_Update", "Parts"))
)
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Custom().Text("Kopieren");
toolbar.Save();
})
.Columns(columns =>
{
int j = 0;
columns.Bound(b => b.Id).Hidden();
columns.Bound(b => b.SelectedMKL).Title("MKL");
columns.Bound(b => b.Standard).Title("Norm");
columns.Bound(b => b.SelectedManufacturer).Title("Hersteller");
for (j = 0; j <
Model.PropertiesCount
; j++)
{
string
_title
=
""
;
if (Model.Count() >= 1)
_title = Model[0].Properties[j].Name;
columns.Bound(b => b.Properties[j].Value).Title(_title);
}
})
.Resizable(r => r.Columns(true))
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Filterable(ftb => ftb.Mode(GridFilterMode.Menu))
.Pageable(page => page.Enabled(true).PageSizes(new int[] { 10, 30, 50, 100, 1000 }))
.Sortable()
.Selectable(sel => sel.Mode(GridSelectionMode.Single))
.Reorderable(r => r.Columns(true))
)
The issue I have: If I click on a property, which is stored in Properties the value is disappearing in the editbox. If I click on a property, which is a "direct" member of the class (e.g. "SelectedMKL"), the value is correctly shown after clicking the cell.
See the Pictures attached.
How can I prevent the value from disappearing?
Greetings, Denis