none
FormViewのItemTemplateで、自動生成されるデフォルトのコードを変更したい RRS feed

  • 質問

  •  

    お世話になります。

     

    環境は、VisualStudio2008Pro、SqlServer2005Ex、WindowsXPproです。

     

    FormViewから「データソースの選択」を行い、SqlDataSourceを選ぶと、ItemTemplateが自動生成されます。

    自動生成されたままですと、

     

    (項目名): <asp:Label ID="(項目名)Label" runat="server" Text='<%# Eval("(項目名)") %>' /> <br />

     

    というコードが、フィールドの数だけ並びます。

     

    自分の場合、大抵のケースでは、Tableとして出力するため、このコードを、

     

    <table>

      <tr>

        <th> (項目名) </th>

        <td> <asp:Label ID="(項目名)Label" runat="server" Text='<%# Eval("(項目名)") %>' /> </td>

      </tr>

      (上記4行をフィールド数だけ繰り返し)

    </table>

     

    といったように、毎回書き換えております。

    これを、自動生成の時点で出力させる方法を知りたいですが、調べてもそれらしい情報が見つかりませんでした。

     

    こうした行いの可否と、可能であれば方法をご教授いただければ幸いです。

    何卒よろしくお願いいたします。

     

    2008年2月8日 3:09

すべての返信

  • PreRenderイベントでタグの自動出力をやっていると思います。

     

    お勧めできる方法としては、FormViewコントロールを継承したカスタムコントロールを作り、

    そこに、PreRenderイベントや、ItemCreatedイベントで、設定したいTABLEタグを出力する仕組みにすれば、

    毎回書き換えることなく、自動生成できると思います。

     

    裏を取ってないので、あまり自信がないのですが、ご検討頂けると幸いです。

    2008年2月13日 8:04