2016-12-16 5 views
0

Gridviewの外にボタンとテキストボックスを使用してGridviewに行を挿入しようとしていますが、正常に動作しています。しかし、私は行を挿入するたびに、挿入フォームのGridviewが表示されます。このフォームを無効にするには?どのように行を挿入するときにgridviewのフォームを挿入するか?

私のボタン:

protected void btnAdd_Click(object sender, EventArgs e) 
    { 
     MenuAssignmentGv.AddNewRow(); 

    } 

私のデータソース

<asp:SqlDataSource ID="AttdMenuAssignmentDs" runat="server" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' ProviderName='<%$ ConnectionStrings:ConnectionString.ProviderName %>' 
     SelectCommand="select mra.RoleAssignmentID, mra.MenuRoleID , mr.MenuRole, mn.MenuName, mn.MenuUrl 
    from ATTD_MST_MENU mn 
    inner join ATTD_MST_MENU_ROLE_ASSIGNMENT mra 
    on mn.MenuID=mra.MenuID 
    inner join ATTD_MST_MENU_ROLE mr 
    on mra.MenuRoleID=mr.MenuRoleID 
    where [email protected]" 
     InsertCommand="INSERT INTO ATTD_MST_MENU_ROLE_ASSIGNMENT(MenuRoleID, MenuID) VALUES (@MenuRoleID, @MenuID)" 

     <InsertParameters> 
      <asp:ControlParameter ControlID="ddlRole" PropertyName="Value" Name="MenuRoleID" /> 
      <asp:ControlParameter ControlID="ddlMenu" PropertyName="Value" Name="MenuID" /> 
     </InsertParameters> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="ddlRole" PropertyName="Value" Name="MenuRoleID"></asp:ControlParameter> 
     </SelectParameters> 

    </asp:SqlDataSource> 

私はフォームが常に表示されるボタンをクリックして、私はそのフォームの更新]をクリックした後、レコードを挿入するたびに。 form appear when inserting new row by clicking button

+2

いくつかのコードは – Aristos

+0

が既に追加されています。 – patrixx

+0

私はデータを表示するためにのみGridviewを使用することをお勧めします。独自のフォームコードの挿入/編集を記述することができます。 – Emanuele

答えて

1

ASPxGridView.AddNewRow方法は、それがdocumentationに応じて何をすべきかを正確に行います。

AddNewRow方法は、編集モードにASPxGridViewを切り替えて、新しい行の 値を編集することができます。

あなたの作業は異なります。新しい行をデータベースに追加し、ASPxGridViewで表示させる必要があります。 ASPxGridView.DataBindメソッドが呼び出される前に新しい行をデータベースに挿入すると、新しい行が自動的にASPxGridViewに表示されます。また、あなたはマニュアルに従ってASPxGridViewのAPIを使用し続けることができます。

UpdateEditメソッドを呼び出して、基盤となるデータソースに新しいレコードを追加します。コード内の行の値を初期化するには、 InitNewRowイベントを処理します。

関連する問題