0

このプロジェクトを VB.NET で使用しようとしています: http://www.codeproject.com/Articles/29436/Expandable-panel-inside-a-GridView

私が抱えている問題は、テーブルの行 ID にあります。

私のプロジェクト:

<tr id="gridStores" style="display:none;">

彼の:

<tr id="gridStores_linM_30" style="display:none;">

行の一意の ID を失っているため、結果としてテーブル全体が隠されています。そのため、onClick イベントの表示/非表示が追加されると、一意の ID が失われ、正しい行が表示/非表示になりません。Firebug でコードを編集すると、すべてが機能します。これは、テーブルに新しい行を追加するために呼び出されます。

htmlTab.Controls.AddAt(newRowIndex, newRow)

それが呼び出される前に、私が呼び出したときのクライアント ID は「linM_2」です。

その後は「gridStores」です。

行を追加すると名前が失われるのはなぜですか? この動作は何らかの理由で予期されたものですか?

ありがとうございました!

私のプロジェクト:
https://github.com/gbam/ExpandablePanel-VB

作業サンプル:
http://www.apexlogikdata.com.br/ExpandPanelGridView/Default.aspx

4

1 に答える 1

0

このコード行は私の問題を解決しました:

    newRow.ClientIDMode = UI.ClientIDMode.Static

なぜそれが必要なのか、なぜ VB.NET がテーブルの命名を上書きしたのかを 100% 理解しているわけではありません。誰かがこの回答を編集して、それについて詳しく説明していただければ幸いです。

ありがとうございました!

于 2013-05-03T15:09:22.353 に答える