Sep 11, 2012, 9:51 PM
RowSelectionModel Using Razor Engine Help
Hello ,
I'm tring to Get Selected Row From GridPanel Using Razor Engine withe this Function
Thinks .
I'm tring to Get Selected Row From GridPanel Using Razor Engine withe this Function
{
if (!string.IsNullOrEmpty(MemberID))
{
int selectedMember = int.Parse(MemberID);
GridPanel gridpanel = X.GetCmp<GridPanel>(GridPanelId);
MiniSiteDBEntities DBContext = new MiniSiteDBEntities();
List<CategoryMember> lstCatMem = new List<CategoryMember>();
var Query = from c in DBContext.CategoryMember
where c.MemberID == selectedMember
select c;
lstCatMem = (List<CategoryMember>)Query.ToList();
RowSelectionModel sm = gridpanel.SelectionModel.Primary as RowSelectionModel;
sm.SelectedRows.Clear();
sm.SelectedRow = new SelectedRow(lstCatMem.Count);
foreach (CategoryMember CategoryMember in lstCatMem)
{
sm.SelectedRows.Add(new SelectedRow(CategoryMember.CategoryID.ToString()));
}
sm.UpdateSelection();
return new AjaxResult();
}
return new AjaxResult();
}
But the Variable sm is alawys Null which is the RowSelection the Razor Code which Call this Function is : @(Html.X().FormPanel().ID("BasicForm").Width(1193).Frame(true).Title("Display List Of Categories For Selected Member").AutoHeight(true)
.PaddingSpec("10px 10px 0 10px")
.Items(items =>
{
items.Add(Html.X().ComboBox().ID("MemberCombo").FieldLabel("List of Members").Width(600).LabelWidth(150).Editable(true).TypeAhead(true).SelectOnFocus(true).Margins("0 0 0 3")
.QueryMode(DataLoadMode.Local).TriggerAction(TriggerAction.All).ValueField("MemberID").DisplayField("FirstName")
.Store(Stor =>
{
Stor.Add(Html.X().Store().ID("dsMembers1").AutoLoad(true).Model(Mod =>
{
Mod.Add(Html.X().Model().ID("ModelMembers").Fields(
FielCat =>
{
FielCat.Add(Html.X().ModelField().Name("MemberID").Type(ModelFieldType.Int));
FielCat.Add(Html.X().ModelField().Name("FirstName"));
}
));
}
)
.Proxy(proxy => proxy.Add(Html.X().AjaxProxy()
.Url("/Data/GetMembers/")
.Reader(reader => reader.Add(Html.X().JsonReader()
.Root("data")
.TotalProperty("total")
.IDProperty("MemberID")
))
))
);
})
.DirectEvents(directEvents =>
{
directEvents.Select.Url = "/Data/GetCategoriesForSeletedMember";
directEvents.Select.ExtraParams.Add(new StoreParameter("MemberID", "Ext.getCmp('MemberCombo').getValue()", ParameterMode.Value));
directEvents.Select.ExtraParams.Add(new StoreParameter("GridPanelId", "GridPanel2"));
})
);
})
So Can I get a help Please .Thinks .