从Datagridview删除选定的行 [英] Delete the selected rows from Datagridview

查看:94
本文介绍了从Datagridview删除选定的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,任何人都可以通过代码段从datagridview删除选定的行(多选)的代码片段.删除之前,我想检查要删除的项目是否由已登录的用户添加.

在此先感谢


Hi, Can anyone ahare code snippet for deleting the selected rows(multi select) from a datagridview. Before delete I want to check whether the items going to be deleted are added by the user who has logged in.

Thanks in advance


private void btnDelete_Click(object sender, EventArgs e)
        {
            dgDtParameters.AllowUserToDeleteRows = true;
            System.Data.DataTable objDt = new System.Data.DataTable();
            DataRow objdrDelete;
            DataSet dsAdmin = new DataSet();
            try
            {
                objConnection = new DBAccess();
                SqlParameter[] sqlparamAdmin = {
                                                   new SqlParameter("@accountID",iaccountID),
                                                   new SqlParameter("@projectID",iprojectID),
                                                   new SqlParameter("@componentID",icomponentID),
                                                   new SqlParameter("@createdBy",CCommonInfo.iUserID),
                                               };
                dsAdmin = objConnection.GetDataSet("prcDisplayAdmindataTemplate", sqlparamAdmin);
                if (iRoleID == 1 || iRoleID == 2 || iRoleID == 3)
                {
                    if (MessageBox.Show(CompCreatorMsg.Msg_DPDelete, CompCreatorMsg.Title_DPDelete, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        objDt = dsobbtemp.Tables[0];
                        objdrDelete = objDt.NewRow();
                        //if (objDt != null)
                        {
                            for (int i = 0; i < objDt.Rows.Count; i++)
                            {
                                objdrDelete["objectRevisedName"] = objDt.Rows[i]["objectRevisedName"].ToString();
                                srowFilter = "objectRevisedName = ''" + objdr["objectRevisedName"].ToString() + "''";
                                if (dsAdmin.Tables[0].Select(srowFilter).Length == 0)
                                {
                                    SqlParameter[] sqlparam = {
                                                  new SqlParameter("@objectID",Convert.ToString(objDt.Rows[i]["objectID"]))
                                              };
                                    iResults = objConnection.ExecuteCommand("prcDeleteDataTemplate", sqlparam);
                                }
                            }
                        }
                        objDt.Clear();
                        objDt.Dispose();
                    }
                }
            }
            catch (Exception exGeneral)
            {
                MessageBox.Show(exGeneral.Message + exGeneral.StackTrace.ToString());
            }
        }

推荐答案



请参阅以下内容:

http://social.msdn.microsoft.com/Forums/zh/winformsdatacontrols/thread/fbe691ae-ec83-4a09-8766-0088cfcc1ea3 [ http://stackoverflow.com/questions/777208/how-to-delete-row-from-datagridview-with-a-delete-button [ http://stackoverflow.com/questions/5539243/如何从数据网格视图和数据库删除行 [
Hi,

Refer below:

http://social.msdn.microsoft.com/Forums/en/winformsdatacontrols/thread/fbe691ae-ec83-4a09-8766-0088cfcc1ea3[^]

http://stackoverflow.com/questions/777208/how-to-delete-row-from-datagridview-with-a-delete-button[^]

http://stackoverflow.com/questions/5539243/how-to-delete-a-selected-row-from-datagridview-and-database[^]


try
{

sqlConnection.Close();
int nn = dataGridView1.SelectedCells [0] .RowIndex;
字符串s = dataGridView1 [0,nn] .Value.ToString();
int n = Convert.ToInt32(s);
SqlCommand cmd =新的SqlCommand(从Master_Vlc中删除,其中Vlc_Code =" + n,sqlConnection);
ds = new DataSet();



sqlConnection.Open();
sqlDataAdapter =新的SqlDataAdapter(cmd);

sqlDataAdapter.Fill(ds,"Master_Vlc");
MessageBox.Show(已删除值");
sqlConnection.Close();
dataGridView1.Rows.RemoveAt(nn);
}
catch(ex ex例外)
{
MessageBox.Show(ex.Message.ToString());
}
try
{

sqlConnection.Close();
int nn = dataGridView1.SelectedCells[0].RowIndex;
string s = dataGridView1[0, nn].Value.ToString();
int n = Convert.ToInt32(s);
SqlCommand cmd = new SqlCommand("delete from Master_Vlc where Vlc_Code=" + n, sqlConnection);
ds = new DataSet();



sqlConnection.Open();
sqlDataAdapter = new SqlDataAdapter(cmd);

sqlDataAdapter.Fill(ds, "Master_Vlc");
MessageBox.Show("Value Deleted");
sqlConnection.Close();
dataGridView1.Rows.RemoveAt(nn);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}


这篇关于从Datagridview删除选定的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆