• 0

لاصحاب الخبرة في لغة c#

اريد ان احذف عدة صفوف من قاعدة البيانات sql server المعروضة في datagridview في c#

multi-select-datagridview.png

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

السلام عليكم @محمد علي23

يمكنك فعل ذلك من خلال إضافة الميثود التالي إلى ملف CS مع تعديلها بما يتناسب مع إسماء الحقول لديك

private void BindGrid()
    {
        SqlConnection con = new SqlConnection();
        DataTable dt = new DataTable();
        con.ConnectionString = @"Data Source=localhost;Initial Catalog=Employees;Integrated Security=True";
        SqlCommand cmd = new SqlCommand("Select * From Employees", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
        if (dt.Rows.Count > 0)
        {
            GridViewEmployee.DataSource = dt;
            GridViewEmployee.DataBind();
        }
    }

ونقوم بإستدعائها في page_load هكذا 

 if (!Page.IsPostBack)
        {
            BindGrid();
        }

وفي زر الحذف قم بإضافة الكود التالي مع تغييره بما يتناسب معك

protected void btnDeleteRecords_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Name", typeof(string)),
                new DataColumn("Email",typeof(string)) });
        foreach (GridViewRow row in GridViewEmployee.Rows)
        {
            if ((row.FindControl("chkSelect") as CheckBox).Checked)
            {
                int ID = Convert.ToInt32(GridViewEmployee.DataKeys[row.RowIndex].Value);
                using (SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=Employees;Integrated Security=True"))
                {
                    con.Open();
                    SqlCommand cmd = new SqlCommand("DELETE FROM Employees WHERE ID=" + ID, con);
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
            }
        }
        this.BindGrid();
    }

بعد تطبيق ذلك يمكنك تحديد ما تريد حذفه وعند ضغط زر الحذف سيتم حذف المحدد بنجاح

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ On 17‏/7‏/2020 at 02:43 قال Mohamd Imran:

السلام عليكم @محمد علي23

يمكنك فعل ذلك من خلال إضافة الميثود التالي إلى ملف CS مع تعديلها بما يتناسب مع إسماء الحقول لديك


private void BindGrid()
    {
        SqlConnection con = new SqlConnection();
        DataTable dt = new DataTable();
        con.ConnectionString = @"Data Source=localhost;Initial Catalog=Employees;Integrated Security=True";
        SqlCommand cmd = new SqlCommand("Select * From Employees", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
        if (dt.Rows.Count > 0)
        {
            GridViewEmployee.DataSource = dt;
            GridViewEmployee.DataBind();
        }
    }

ونقوم بإستدعائها في page_load هكذا 


 if (!Page.IsPostBack)
        {
            BindGrid();
        }

وفي زر الحذف قم بإضافة الكود التالي مع تغييره بما يتناسب معك


protected void btnDeleteRecords_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Name", typeof(string)),
                new DataColumn("Email",typeof(string)) });
        foreach (GridViewRow row in GridViewEmployee.Rows)
        {
            if ((row.FindControl("chkSelect") as CheckBox).Checked)
            {
                int ID = Convert.ToInt32(GridViewEmployee.DataKeys[row.RowIndex].Value);
                using (SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=Employees;Integrated Security=True"))
                {
                    con.Open();
                    SqlCommand cmd = new SqlCommand("DELETE FROM Employees WHERE ID=" + ID, con);
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
            }
        }
        this.BindGrid();
    }

بعد تطبيق ذلك يمكنك تحديد ما تريد حذفه وعند ضغط زر الحذف سيتم حذف المحدد بنجاح

هل هذا بأستخدام ال checkbox 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 25 دقائق مضت قال محمد علي23:

هل هذا بأستخدام ال checkbox 

نعم أخي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن