チェックボックスを使用してレコードがグリッドから削除されない

アズハルシャヒド

チェックボックスを選択すると、グリッドからレコードを削除しようとしています。しかし、それはレコードを削除することではありません。私が間違っているところ。誰かが私がそれを見つけるのを手伝ってください。

これが私のコードです-

Default.aspx--

<asp:Button ID="btnAdd" runat="server" Text="Add" onclick="btnAdd_Click" BackColor="#999966" />
    <asp:Button ID="btnDelete" runat="server" Text="Delete" onclick="btnDelete_Click" BackColor="#999966" />
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Name" 
        DataSourceID="SqlDataSource1" 
            style="padding: 0px; margin: 0px; border: thin solid #FF9933; width: 500px;" 
            CellPadding="0" EmptyDataText="No records found" ForeColor="#333333" 
            GridLines="None">
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <HeaderStyle BackColor="Moccasin" Width="500px" Font-Bold="True" 
            ForeColor="Black" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#E9E7E2" />
        <SortedAscendingHeaderStyle BackColor="#506C8C" />
        <SortedDescendingCellStyle BackColor="#FFFDF8" />
        <SortedDescendingHeaderStyle BackColor="#6F8DAE" />

        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:CheckBox ID="cbSelectAll" runat="server" onclick="javascript:SelectAllCheckboxes1(this);"  />    
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:CheckBox ID="chk" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
        </Columns>   
    </asp:GridView>
    </div>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:HRMSConnectionString %>" 
        SelectCommand="SELECT [Name] FROM [Languages]">
    </asp:SqlDataSource>

Default.aspx.cs--

string strcon = ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;
SqlCommand command;
protected void Page_Load(object sender, EventArgs e)
{
    tblAdd.Visible = false;
    Label1.Visible = false;
    GridView1.DataBind();
    if (!Page.IsPostBack)
        {
            fillLanguageGrid();
        }
}

public void fillLanguageGrid()
    {

        GridView1.DataSourceID = "SqlDataSource1";
        GridView1.DataBind();
        GridView1.Visible = true;
    }



protected void btnDelete_Click(object sender, EventArgs e)
{
    foreach (GridViewRow gvrow in GridView1.Rows)
    {
        CheckBox chkdelete = (CheckBox)gvrow.FindControl("chk");
        if (chkdelete.Checked)
        {
            string name= Convert.ToString(GridView1.DataKeys[gvrow.RowIndex].Values["Name"].ToString());
            deleteRecordByName(name);
        }
    }
    fillLanguageGrid();
}

public void deleteRecordByName(string Name)
{

    using (SqlConnection sqlConnection = new SqlConnection(strcon))
    using (SqlCommand cmd = new SqlCommand("[dbo].[hrm_Langauges]", sqlConnection))
    {
       //  define this to be a stored procedure
        cmd.CommandType = CommandType.StoredProcedure;
        command.Parameters.Add(new SqlParameter("@status", SqlDbType.VarChar, 50));
        // define the parameter and set its value
        cmd.Parameters.Add(new SqlParameter("@Name", SqlDbType.VarChar)).Value = Name;

         //open connection, execute DELETE query, close connection
        sqlConnection.Open();
        command.Parameters["@status"].Value = "Delete";
        cmd.ExecuteNonQuery();
        sqlConnection.Dispose();
    }

これが私のストアドプロシージャです

ALTER PROCEDURE [dbo].[hrm_Langauges]
(
    @Name varchar(120),
    @CreatedOn datetime,
    @UpdatedOn datetime=0,
    @CreatedBy bigint=0,
    @UpdatedBy bigint=0,
    @IsDeleted bit=0,
    @status as varchar(50) = ''
)
AS
BEGIN
    BEGIN TRANSACTION
        DECLARE @ID int;
        SELECT @ID = coalesce((select max(ID) + 1 from Languages), 1)
    COMMIT   

    if(@status = 'Display')
    BEGIN
        SELECT * FROM [dbo].[Languages];
    END
    else if(@status = 'Add')
    BEGIN
        IF EXISTS(SELECT Name FROM [dbo].[Languages] WHERE Name = @Name)
    Begin
    Return 0
    End
    Else
        INSERT INTO [dbo].[Languages](Name, CreatedOn,UpdatedOn,CreatedBy,UpdatedBy,IsDeleted) VALUES(@Name,@CreatedOn,@UpdatedOn,@CreatedBy,@UpdatedBy,@IsDeleted)
    END
    else if(@status = 'Update')
    BEGIN
        UPDATE [dbo].[Languages] Set Name=@Name,UpdatedOn=@UpdatedOn WHERE ID=@ID
    END
    else if(@status = 'Delete')
    BEGIN
        DELETE FROM [dbo].[Languages] WHERE NAME=@NAME
    END
END

これがグリッドのスナップショットです-

ここに画像の説明を入力してください

user3189944

ASP.NETでは、サーバー側のコントロールでイベントを発生させると、Page_Loadイベントは常にコントロールイベントのコードの前に実行されます。

あなたの場合、ユーザーはチェックボックスをオンにしてから、[削除]ボタンを押します。これにより、Page_Loadイベントが発生し、続いてbtnDelete_Clickイベントが発生します。Page_Loadイベントはチェックボックスをリロードし、ユーザーがチェックしたチェックボックスの選択を効果的に破棄してから、ボタンイベントコードが呼び出されます。ただし、この時点では、選択したチェックボックスがオフになっているため、コードは正しく実行されますが、何も変更されません。

Page_Loadイベントを変更して追加します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JSの最終コードからチェックされていないチェックボックスを削除する

分類Dev

チェックボックスがチェックされているかどうかをチェックし、チェックされたチェックボックスの数を示すjqueryコードを記述しますか?

分類Dev

HTMLの(This)レコードのVeleocityのチェックボックスからJavascriptが値を取得しない

分類Dev

チェックボックスをクリックして、チェックされた値をテキストボックスに配置し、チェックされていない値をテキストボックスから削除します

分類Dev

qt qmlチェックボックス:ユーザーがクリックしたがq_propertyバインディングでチェックされていない場合にコードを実行する方法

分類Dev

CSSコードが適用されているにもかかわらずチェックボックスが整列しない

分類Dev

コードで行ってもチェックボックスがチェックされない

分類Dev

PHPのチェックボックスを使用してレコードを削除するにはどうすればよいですか?

分類Dev

LINQを使用してグリッドビューでチェックボックスがオンになっているときに特定のコードを適用するにはどうすればよいですか?

分類Dev

剣道グリッドテンプレートがブートストラップトグルを正しく表示しておらず、列にチェックボックスのみが表示されている

分類Dev

マスターグリッドビューチェックボックスが切り替えられたときに、ネストされたグリッドビューチェックボックスが切り替えられない

分類Dev

マスターグリッドビューチェックボックスが切り替えられたときに、ネストされたグリッドビューチェックボックスが切り替えられない

分類Dev

PHPコードがチェックボックス情報を使用してスイッチを反復処理しないのはなぜですか?

分類Dev

複数のチェックボックスを使用してWordPressデータベースから複数のレコードを削除する

分類Dev

削除されたレコードがリストノックアウトから削除されない

分類Dev

runat = serverなしでコードビハインドからチェックされたHtmlチェックボックスを設定します

分類Dev

チェックボックスを使用して複数のレコードを削除する方法は?

分類Dev

2.1にアップグレードした後、ベースサイトリクエストからコンテキストをフェッチした後、コンテキストが時間内に設定されていません

分類Dev

ハッキングに依存しない依存関係のカスタムバージョンを使用してサンドボックス化されたcabalプロジェクトを構築する方法(例:githubからのチェックアウト)

分類Dev

xamlを使用してデータグリッドで行が選択された後、DataGridTemplateColumnのチェックボックスの状態を変更します

分類Dev

チェックボックスがDOMjqueryで作成したタグにバインドされていない

分類Dev

ネストされたグリッドビューのチェックボックスを使用した操作

分類Dev

チェックボックスがjqueryとjavascriptを使用してチェックされていない

分類Dev

nested_formのチェックボックスからのデータを受け入れ、チェックボックスからのデータを使用してレコードを作成します

分類Dev

IDなしでグリッドビューからチェックボックス値を取得する

分類Dev

UI-Grid-selectAllチェックボックスを使用して現在のページに表示されているレコードを選択する方法

分類Dev

バッチスクリプトを使用して、サニタイズされていない文字列をクリップボードにコピーする方法

分類Dev

他のグループがチェックされていない場合は、チェックボックスを自動的にチェックします

分類Dev

MVC3&Ajax:リストを更新して、ボタンクリックでリストから削除されたレコードを非表示にします

Related 関連記事

  1. 1

    JSの最終コードからチェックされていないチェックボックスを削除する

  2. 2

    チェックボックスがチェックされているかどうかをチェックし、チェックされたチェックボックスの数を示すjqueryコードを記述しますか?

  3. 3

    HTMLの(This)レコードのVeleocityのチェックボックスからJavascriptが値を取得しない

  4. 4

    チェックボックスをクリックして、チェックされた値をテキストボックスに配置し、チェックされていない値をテキストボックスから削除します

  5. 5

    qt qmlチェックボックス:ユーザーがクリックしたがq_propertyバインディングでチェックされていない場合にコードを実行する方法

  6. 6

    CSSコードが適用されているにもかかわらずチェックボックスが整列しない

  7. 7

    コードで行ってもチェックボックスがチェックされない

  8. 8

    PHPのチェックボックスを使用してレコードを削除するにはどうすればよいですか?

  9. 9

    LINQを使用してグリッドビューでチェックボックスがオンになっているときに特定のコードを適用するにはどうすればよいですか?

  10. 10

    剣道グリッドテンプレートがブートストラップトグルを正しく表示しておらず、列にチェックボックスのみが表示されている

  11. 11

    マスターグリッドビューチェックボックスが切り替えられたときに、ネストされたグリッドビューチェックボックスが切り替えられない

  12. 12

    マスターグリッドビューチェックボックスが切り替えられたときに、ネストされたグリッドビューチェックボックスが切り替えられない

  13. 13

    PHPコードがチェックボックス情報を使用してスイッチを反復処理しないのはなぜですか?

  14. 14

    複数のチェックボックスを使用してWordPressデータベースから複数のレコードを削除する

  15. 15

    削除されたレコードがリストノックアウトから削除されない

  16. 16

    runat = serverなしでコードビハインドからチェックされたHtmlチェックボックスを設定します

  17. 17

    チェックボックスを使用して複数のレコードを削除する方法は?

  18. 18

    2.1にアップグレードした後、ベースサイトリクエストからコンテキストをフェッチした後、コンテキストが時間内に設定されていません

  19. 19

    ハッキングに依存しない依存関係のカスタムバージョンを使用してサンドボックス化されたcabalプロジェクトを構築する方法(例:githubからのチェックアウト)

  20. 20

    xamlを使用してデータグリッドで行が選択された後、DataGridTemplateColumnのチェックボックスの状態を変更します

  21. 21

    チェックボックスがDOMjqueryで作成したタグにバインドされていない

  22. 22

    ネストされたグリッドビューのチェックボックスを使用した操作

  23. 23

    チェックボックスがjqueryとjavascriptを使用してチェックされていない

  24. 24

    nested_formのチェックボックスからのデータを受け入れ、チェックボックスからのデータを使用してレコードを作成します

  25. 25

    IDなしでグリッドビューからチェックボックス値を取得する

  26. 26

    UI-Grid-selectAllチェックボックスを使用して現在のページに表示されているレコードを選択する方法

  27. 27

    バッチスクリプトを使用して、サニタイズされていない文字列をクリップボードにコピーする方法

  28. 28

    他のグループがチェックされていない場合は、チェックボックスを自動的にチェックします

  29. 29

    MVC3&Ajax:リストを更新して、ボタンクリックでリストから削除されたレコードを非表示にします

ホットタグ

アーカイブ