web-dev-qa-db-ja.com

TelerikRadGridの行を取得します

RadGridで作業していて、その行にアクセスしたいのですが、.Rowsプロパティがないようです。

これが私が今まで試したことです:

enter image description here

rgCustomersのRowsコレクションにアクセスするにはどうすればよいですか?各行にボタンを追加したい。

13

Telerikのドキュメント によると、

「グリッド内の各動的行は、指定されたデータソースからのレコードを表します。動的行は、GridDataItemクラス(GridItemの子孫)によって表されます。

各GridTableViewには、GridDataItemタイプの行のセット(Itemsコレクション)があります。」

したがって、GridDataItemsのコレクションであるグリッドのItemsコレクションを使用する必要があります。

protected void btnLoad_Click(object sender, EventArgs e)
{
  rgCustomers.DataSource = odsCustomers;
  rgCustomers.DataBind();
  foreach (GridDataItem row in rgCustomers.Items)
  {
  }
}
8
Daniel

WPF/Silverlight RadGridだと思いますか?

(行データではなく)データバインドグリッドの行コントロールにアクセスする場合-RadGridのItemContainerGeneratorプロパティを使用する必要があります。例えば:

rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);

または

rgCustomers.ItemContainerGenerator.ContainerFromItem(odsCustomers[0]);

最初の行のコントロールを返します(正しく覚えていればRadGridViewRowタイプ)

3
Varius

-すべての行にボタンを追加する場合:

GridTemplateColumnまたはGridButtonColumnがトリックを実行します。

-現在の行にアクセスする場合:

  1. ボタンのOnClickイベントハンドラーを使用します。

    <telerik:RadButton ID="BTN_DEMO" runat="server" HeaderText="N°1 DEMO BTN"
    Text='<%#"Click Me iM N°"+((IhateEvalDataSource) Container.DataItem).Stuff_ID %>' 
    OnClick="BTN_DEMO_Click"></telerik:RadButton>
    
  2. (Sender as RadButton).NamingContainerを使用してGridDataItemへの参照を取得します。

    protected void BTN_BL_Click(object sender, EventArgs e)
    {
        GridDataItem G = ((RadButton)sender).NamingContainer as GridDataItem;
    }
    
  3. GetDataKeyValue()メソッド を使用してレコードIDを抽出します。

    DEMO_INT = (int)G.GetDataKeyValue("mySweetInt"); 
    DEMO_STRING = (string)G.GetDataKeyValue("MyString");
    
1
Drag and Drop