簡體   English   中英

在Telerik網格ItemCreated方法中訪問Linq數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM