1

ここは初めてなので、ゆっくりしてください。

私はusing C#/ASP.NETWeb サイトを開発するための Web Formss アプローチです。以下のコードはにデータgridViewを入力しているので、この同じリターンを使用して にデータを入力したいと思いDataTableますRepeater

デリゲートの宣言

public delegate object ListMethod
public ListMethod listMethod;

listMethod の定義

(Page.Master as Gestao).listMethod = listaTodos;

listaTodos メソッド

return usrMethods.Listar().ToList(); // Which returns a List<T>

GridView の設定

if (!listMethod.Equals(null))
{
    this.ListagemView.DataSource = listMethod();
    this.ListagemView.DataBind();
}

もっと情報が必要な場合は、教えてください。

Repeater&を使用するほとんどの例では、で を手動で定義してから、 で同じ量の をdataTables定義する必要があります。私の場合の問題は、リスト内の列の量も名前もわからないことです。Columns<HeaderTemplate><tr><ItemTemplate>

アドバイスありがとうございます。下手な英語で本当に申し訳ありません。

4

1 に答える 1

1

DataTablesには適切なテーブル レイアウトが必要です。theadASP.NET Gridviews を使用している場合、要素を含むタグでテーブル ヘッダーをレンダリングしません...テーブル ヘッダーのように見えるようthに、css スタイルの行を使用します。tbodyDataTables は、これをどうするかわかりません。

回避策があります。このメソッドを作成します。

void gridview_DataBound(object sender, EventArgs e) {
  var gv = (GridView)sender;
  if (gv.HeaderRow != null) {
    gv.HeaderRow.TableSection = TableRowSection.TableHeader;
  }
}

次に、コードブロックで:

if (!listMethod.Equals(null))
{
  this.ListagemView.DataBound += gridview_DataBound; // <--- ADD THIS LINE
  this.ListagemView.DataSource = listMethod();
  this.ListagemView.DataBind();
}

次に、JavaScript で次のように呼び出すことができます。

$('#<%= this.ListagemView.ClientID %>').dataTable();

DataTablestheadは現在適切に生成されているものから自動検出するため、明示的に定義された列は必要ありません。

于 2013-08-28T13:17:53.057 に答える