0

私は次のGridViewを持っています

 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
      OnRowCommand="GridView1_RowCommand" DataKeyNames="Chart_Id" 
      AutoGenerateColumns="False" EnableModelValidation="True" >

      <Columns>
          <asp:CommandField ShowEditButton="False" ShowDeleteButton="False" ShowInsertButton="False" />
                        <asp:BoundField DataField="Week" HeaderText="Week" SortExpression="Week" />
                        <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" ItemStyle-Wrap="False" />
                        <asp:BoundField DataField="Host" HeaderText="Host" SortExpression="Host" />
                        <asp:BoundField DataField="Topic_1" HeaderText="Topic 1" SortExpression="Topic_1" />
                        <asp:BoundField DataField="Topic_2" HeaderText="Topic 2" SortExpression="Topic_2"
                            HeaderStyle-Wrap="False" />
                        <asp:BoundField DataField="Topic_3" HeaderText="Topic 3" SortExpression="Topic_3" />
                        <asp:BoundField DataField="Topic_4" HeaderText="Topic 4" SortExpression="Topic_4" />
      </Columns>


 </asp:GridView>

デフォルトでは、編集/挿入/キャンセル ボタンを false に設定しています。

次に、コード ビハインドで、特定の条件下でこれらを true に設定できるようにしたいと考えています。

    string theUser = Helpers.GetUser();
    string admin = "adminName";

    if (theUser == admin) {

       // Set the buttons to true  

    }

私はこれを行う方法を探していましたが、誰かが AutoGenerate プロパティを使用することを提案し、次のように有効にしました。

 GridView1.AutoGenerateEditButton = true;
 GridView1.AutoGenerateDeleteButton = true;
 GridView1.AutoGenerateInsertButton = true; // This one throws an error

唯一の問題は、AutogenerateInsertButton がメイン ASPX ページまたはコード ビハインドに存在しないように見えることです。

これらのプロパティにアクセスしてtrueに設定する方法を誰かが提案できますか?

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

4

2 に答える 2

3

なぜGridViewにAutoGenerateInsertButtonプロパティが必要だと思いますか?

AGridViewはのリストでありGridViewRows、各行は編集または削除できるレコード/要素/アイテムを表します。ただし、レコードごとに挿入ボタンがあるのは意味がありません。すでに存在しているからです。

のフッター行を使用して新しいレコードを挿入する方法を示すこのチュートリアルに従うことができます。GridView

于 2012-10-29T20:28:57.277 に答える
1

プロパティはコントロールAutoGenerateInsertButtonに存在します。コントロールを設計した人は誰でも、グリッドの各行に挿入ボタンは必要ないと考えたでしょう。それぞれの行は基本的に同じことをするからです。DetailsView

したがって、グリッドの下部に空の DetailsView を表示するか、通常のボタンを使用して独自の挿入コマンドを作成することができます。

于 2012-10-29T20:02:30.997 に答える