[英]Accessing Linq data in telerik grid ItemCreated method
不知道這個問題的標題是否有意義,但這是我的問題:
我有一個綁定到Linq數據對象的telerik網格,但是,我限制了返回的字段:
<IQueryable>filter = data.Select(x => new {x.ID, x.Name, x.Age});
我想在網格的ItemCreated方法中訪問這些字段:
protected void rgPeople_ItemCreated(object sender, GridItemEventArgs e)
{
Telerik.Web.UI.GridDataItem item = (GridDataItem)e.Item;
?????? Person = (???????)e.Item.DataItem;
}
我要聲明什么? 這樣我可以使用:
String ID = Person.ID;
String Name = Person.Name; etc
我認為我能夠在ItemDataBound事件處理程序中執行您想要的操作。 以下是我的代碼的一部分。
protected void grMain_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
//Now I can get at the object from the list that the row is bound to
PricingCandidate candidate = (PricingCandidate)e.Item.DataItem;
}
}
像這樣:
protected void rgPeople_ItemCreated(object sender, GridItemEventArgs e)
{
if(e.Item.ItemType = GridItemType.AlternatingItem Or e.Item.ItemType = GridItemType.Item)
{
Telerik.WebControls.GridDataItem item = e.Item;
Label lbl as Label;
lbl= item("ColumnName").FindControl("lblName")
}
}
根據您要確定的操作方式判斷-也許您應該在OnRowDataBinding事件上執行任務。
不,我沒有錯過你的意思。 標簽與GridDataItem或“ Person”對象一樣,都是一個對象。 我知道您的意思是要提供解決方案,所以就到這里。
protected void rgPeople_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
var item = ((GridDataItem)e.Item);
Hashtable values = new Hashtable();
item.ExtractValues(values);
string Name = (string)values["Name"];
string ID = (string)values["ID"];
string Age = (string)values["Age"];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.