なんだろうけど、日本人の方の隠れたカラムにasp.net listview?

StackOverflow https://stackoverflow.com/questions/70758

  •  09-06-2019
  •  | 
  •  

質問

さんき <意思決定がなされた場合%>諸表のItemTemplate隠制御の列が続いております。つけることが出来ません <%%>諸表のLayoutTemplateるの列見出しが宣言され、それゆえの問題です。なんだろうけど、日本人によりよい。

役に立ちましたか?

解決

いつものように解決したと理解していたい:

こちらのおASCX/ASPX

    <asp:ListView ID="ListView1" runat="server" DataSourceID="MyDataSource" ItemPlaceholderID="itemPlaceHolder" OnDataBound="ListView1_DataBound">
        <LayoutTemplate>
            <table border="1">
                <tr>
                    <td>Name</td>
                    <td>Age</td>
                    <td runat="server" id="tdIsSuperCool">IsSuperCool</td>
                </tr>
                <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
            </table>
        </LayoutTemplate>
        <ItemTemplate>
            <tr>
                <td><%# Eval("Name") %></td>
                <td><%# Eval("Age") %></td>
                <td runat="server" id="myCol" visible='<%# (bool)Eval("IsSuperCool") %>'>true</td>
            </tr>
        </ItemTemplate>
    </asp:ListView>
    <asp:ObjectDataSource 
        ID="MyDataSource" 
        runat="server" 
        DataObjectTypeName="BusinessLogicLayer.Thing" 
        SelectMethod="SelectThings"
        TypeName="BusinessLogicLayer.MyObjectDataSource" />

こちらのコ

/// <summary>
/// Handles the DataBound event of the ListView1 control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
protected void ListView1_DataBound(object sender, EventArgs e)
{
    ListView1.FindControl("tdIsSuperCool").Visible = false;
}

好きなことを突き詰めれば、開発.でのカラムはrunatサーバーも取り扱いを開発するカルシニューリンを抑制するだけListView1.FindControl("tdIsSuperCoolすいレイアウトをテンプレートで動作するようにチャンプ.

を入れてもビジネスロジックをコントロールしたいの視認性のtdます。

他のヒント

使ってみをパネルできまon/Off

 foreach (ListViewItem item in ListView1.Items)
 {
     ((Panel)item.FindControl("myPanel")).Visible= False;
 }

のListView実行時にカスタマイズされるまではどのようにデータを描画するサービスです。指定したレイアウトをテンプレートっていることをお知らせしますのプレースホルダーとなる各項目を噴射します。

の出力は以下まで表は、各項目に新しいTR.

通知のrunat='サーバ'、 visible ='<%# %>'

<asp:ListView ID="ListView1" runat="server" DataSourceID="MyDataSource" ItemPlaceholderID="itemPlaceHolder">
    <LayoutTemplate>
        <table>
            <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr>
            <td runat="server" id="myCol" visible='<%# (bool)Eval("IsSuperCool") %>'>
                <%# Eval("SuperCoolIcon") %>
            </td>
            <td>
                <%# Eval("Name") %>
            </td>
            <td>
                <%# Eval("Age") %>
            </td>
        </tr>
    </ItemTemplate>
</asp:ListView>

このあとを義務付けられているが、私は実際にどうしていくべきなのかについては、この考えを見つのカウンターについて教えてくださいよjqueryやcss.

以下のエントリを追加するヘッダ:

<script type="text/javascript" src="Scripts/jquery-1.7.1.min.js" ></script>
  <style>
    .hide {
      display:none;
    }
    .show {
      display:block;
    }
  </style>

すべての列を非表示にする、カスタムプロパティのtd/th.

<th runat="server" data-prop='authcheck'  id="tdcommentsHeader"  >Comments</th>

私の指導を利用カスタムプロパティなので、長い話を短くすれば、できるだろの鳥。いもの値を変更する必要があり、各カラムは、すばしこのid。

次に、があることを確認して隠れた分野を変えてきたかどうかを非表示にします。いることができるでasp:HiddenFieldまたはその他です。

<asp:HiddenField runat="server" ID="IsAuthorized" Value="false" />

最後に、下のページで、:

        <script type="text/javascript">
          $(document).ready(function () {
            var isauth = $("[id='IsAuthorized']").val();
              if (isauth==="false") {
              $("[data-prop='authcheck']").addClass('hide');
              //$("[id*='tdcomments']").addClass('hide'); 
            }
          });
      </script>

きセットの列幅は0(ゼロ)ない場合は見ております。

のlistviewまだまだコンセプトの'column'またはその両方で用される方もいるでしょうが、リストアップしました。

んでいただくことを前提として利用databindingるリストを作成し添付してくださの幸をListView.なお、この場合にはそれだけでリスト項目およびhtmlのLayoutTemplateを決定するのでしょうかその項目が表示されます。ましいテーブルを作成する-スタイルの配列の列と行してその国の開発を維持-管理されてこなプ制御の特定の列あります。

っているのかもしれませんまたはテーブルを作成しレイアウトの全てを通じてCSS、賛が決定 の場合 そのために純粋にレイアウト。ただし、お客様の要求を具体的には非表示につカラムを指標としているテーブルが設置ご希望に応じます。での利用テーブル表形式のデータ...まぁ...

ればならないかもしれません利用する必要はありListViewることができようにしてい結合に対し何かお客様のデータかを判定する要素を示すべきである、例えば:

style='display: <%#Eval("DisplayStyle") %>;'

このコード内のhtml要素をコントロールしたい(LayoutTemplate).そしてオブジェクトで結合する必要があり、プロパティ'DisplayStyleしたいずれかに設定'ブロック'または'none'.

アクセスし、レイアウトをテンプレート列のヘッダ文字うラベルのテンプレート、findcontrolのどのページを先読みすれば、listview、そのラベルが空白の場合にテキストの欄に"off"となります。これが動作しない可能性があり、ご意向を、私はまだまだた列のスペースを使用するかが空白にします。

のっていくには、listview曲げあき出すことはできませんの願いを使用していグリッドです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top