2011-09-14 12 views
7

グリッドビューの選択されたインデックスを取得できますが、グリッド内の実際のデータを取得したいと思います。グリッド内の行を選択し、「クライアントID」列の実際のデータ値にアクセスできるようにします。グリッドは正常に動作しており、SelectedIndexChangedイベントにアクセスできます。私はグリッドに表示されている情報を取得する方法を見つけるために運がないとしようとしています。どんな助けでも大歓迎です。TelerikはIDを選択しています(Radgridの選択項目からデータを取得)

また、コードビハインドのグリッドに表示されるすべてのデータにアクセスする必要があります。

+0

http://stackoverflow.com/questions/33822075/cannot-identify-selected -page-in-tier-grid-i-need-selected-page-under-underlこのヘルプで私を助けてください – Sachin

+0

http://stackoverflow.com/questions/33822075/cannot-identify-selected-page-in-telerik -Grid-i-need-selected-page-to-be-underl – Sachin

答えて

14

これはデータキー用のものです。下の例のように、データキーとしてアクセスする列を指定します。

<telerik:RadGrid ID="RadGrid1" runat="server" ...> 
    <MasterTableView DataKeyNames="Column1, Column2, Column3" ...> 
     ... 
    </MasterTableView> 
</telerik> 

データ・キーは、マークアップで割り当てられていたら、あなたは行によって、コードビハインドでそれらにアクセスする、またはSelectedValuesプロパティを使用することができます。

if (RadGrid1.SelectedItems.Count > 0) 
{ 
    //access a string value 
    string column1 = RadGrid1.SelectedValues["Column1"].ToString(); 

    //access an integer value 
    int column2 = (int)RadGrid1.SelectedValues["Column2"]; 
} 
+0

@Jonathan O:ジェームスの答えに追加する:特定の行に対して 'グリッドに表示されているすべてのデータにアクセスする '必要がある場合;各列をマークアップにDataKeyとしてリストする必要があります。または... IDをリストし、その特定のアイテムのデータストアだけを照会するだけです。 – Icarus

+0

これを行うと、変数column1には何がありますか?この列のデータはどのように取得されますか?助けてくれてありがとう。 – joncodo

+0

DataKeyNames = "ClientID、Gender、First Name"はマークアップとコードビハインドにあります。var column = rgSearchResults.SelectedValues ["ClientID"]。ToString; ??これは私のために働いていません。エラーは「オブジェクト参照がobjのインスタンスに設定されていません」 – joncodo

1

あなたはこのようにそれを行うことができます:

 ` foreach (GridDataItem item in RadGrid1.MasterTableView.Items){ 
       if (item.selected == true){ 
       string mydata = item["ColumnName"].Text; 
        } 
        } 
     ` 

私はあなたがこのサイトhttp://www.telerik.com/help/aspnet/grid/grdaccessingcellsandrows.html上のドキュメントを読んでreccomend。それは確かにあなたに多くのtelerikコンポーネントを手伝ってくれるでしょう。

+1

-1これは、選択した項目を検索したり、選択した値を取得するのには適していません。値を取得するにはデータキーを使用し、 'RadGrid1.SelectedItems'を使用して選択した項目を取得することができます。私はあなたにいくつかのドキュメントを読むことをお勧めします。 –

0

James Johnsonとしてデータキーを使用してください。 GridDataItemDataItemプロパティにSelectedIndexChangedイベントでアクセスすることはできません。 nullになります。 Telerik documentationによると、 "DataItemオブジェクトは、グリッドがデータにバインドするときのみ使用できます。"

DateItemItemCreatedイベントのように、使用可能な場合、あなたは元のデータ型MyTypeにキャストを行うことができます:

private void RadGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    if ((e.Item is GridDataItem)) { 
     GridDataItem gridDataItem = (GridDataItem)e.Item; 
     MyType dataItem = (MyType)gridDataItem.DataItem; 
    } 
} 
+1

これはボートを逃すと思う。 OPは、グリッドの 'selected'アイテムからデータを取得する方法を知りたいと考えています。ここでも、これがデータキーの目的です。 –

+0

ねえ、そうです。私はそれに応じて私の答えを修正した。 – mika

関連する問題