datagridview编辑怎么用代码选择多行

3236人阅读
&&&&&&& 我们通常会遇到删除dataGridview中选中的一和或都多行数据,在网上查了好多方法,有些只能删除dataGridview中的数据,而不能删除数据库中的源数据,或者有些只能删除选中的一行,而不能同时删除多行,经过一番尝试,终于解决了这个问题:
&&& 实现的功能:可以删除一行或者多行数据,并在删除前提醒是否确定进行删除!
&&& 效果如下:
&&& 1、选中两行,点击删除按钮
&&& 2、选择“是”
&&& 3、数据库变化
&&& 实现代码如下:
&&& D层:负责更新数据库
''' &summary&
''' 删除用户信息
''' &/summary&
''' &param name=&enUserInfo&&用户信息实体&/param&
''' &returns&布尔值类型&/returns&
''' &remarks&&/remarks&
Public Function DelUser(ByVal enUserInfo As Entity.UserInfoEntity) As Boolean
Dim strSql As String
Dim DBHelper As New SqlHelper
Dim param As SqlParameter()
Dim bln As Boolean
strSql = &Delete From T_User Where UserID=@ID&
'删除用户sql语句
param = New SqlParameter() {New SqlParameter(&@ID&, enUserInfo.UserID)}
'给参数ID传值
bln = DBHelper.ExecuteUID(strSql, CommandType.Text, param)
'调用SqlHelper,执行sql语句
Return bln
End Function
Public Function DelUserManager(ByVal enUserInfo As Entity.UserInfoEntity) As Boolean
Dim DelUser As New DAL.UserDataDAL
Return DelUser.DelUser(enUserInfo)
End Function
&&& &U层:给实体层传值,执行B层方法
''' &summary&
''' 自定义的删除Datagridview记录的方法
''' &/summary&
''' &remarks&&/remarks&
Public Sub Del()
Dim k As Integer = Me.DataGridView1.SelectedRows.Count
Dim enUserInfo As New Entity.UserInfoEntity
Dim DelUserUI As New BLL.AddDelUserBLL
'Datagridview中是否存在数据
If DataGridView1.Rows.Count & 0 Then
'从下往上删,避免沙漏效应
For i As Integer = k To 1 Step -1
'获取第N行的第一列的数据
Dim usercode As String = DataGridView1.SelectedRows(i - 1).Cells(&用户名&).Value.ToString()
'判断是否该行用户是否为当前登录用户
If frmLogin.txtUserID.Text = usercode Then
MsgBox(&当前用户不能被删除,请重新选择!&, vbOKOnly + vbExclamation, &系统提示&)
'将usercode传值给enUserInfo实体的UserID属性(即根据用户名删除)
enUserInfo.UserID = usercode
'从数据库执行删除操作
If DelUserUI.DelUserManager(enUserInfo) Then
MsgBox(&删除成功!&, vbOKOnly + vbInformation, &系统提示&)
MessageBox.Show(&删除失败!&, &系统提示&, MessageBoxButtons.OK, MessageBoxIcon.[Error])
'将从数据库中删除的信息从Datagridview1中删除
Me.DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(i - 1).Index)
DataGridView1.Rows.Clear()
Private Sub btnDelUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelUser.Click
'选中记录则提示谨慎删除,没有选中数据则提示选择。
If Me.DataGridView1.SelectedRows.Count & 0 Then
If MessageBox.Show(&确定要删除选中的用户吗?删除后将不可恢复!&, &提示&, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
MessageBox.Show(&请选择要删除的用户!&, &提示&, MessageBoxButtons.OK, MessageBoxIcon.Warning)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:161659次
积分:6327
积分:6327
排名:第1215名
原创:83篇
评论:1548条C# 多线程读取数据并保存在DataGridView中,如果操作?代码是什么?谢谢 - 麦武彬 - 博客园
说个大概吧。 首先有一个读取数据的方法getData。 该方法里面有 获取数据A和放入DataGridView的操作。 然后有个总的方法getAllData来New 线程,线程调用getData方法,通过一些全局变量来控制获取的是数据A B或C 因为线程调用方法是无参数的。如果获取数据是同一个来源的最好lock一下,保证同一时间内只有一个线程进入数据源。当非主线程控制主线程创建的DataGridView时候需要使用委托来更新DataGridView里的数据 简单的写了下
public delegate void updataText(string str);
/// &summary&
/// &/summary&
/// &param name=
我是用一个前台定时器(System.Windows.Forms.Timer)Timer1刷新界面数据,一个后台(线程)定时器(System.Timers.Timer)Timer2修改数据的。 俩个DataTable。Timer1负责把dt2的数据copy到dt1,并绑定到datagridview刷新界面,timer2负责修改dt2的数据。
无非是建立多个线程一起跑,需要注意的是把各个线程做的事情否分配好,然后有一个全局的容器最终把所有的结果搞定,并且给datagridview就行 代码给你你也不能直接用,网上怎么使用线程的方法很多自己找去3207人阅读
//一行代码就可以啦...
this.dataGridView.MultiSelect =
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:700416次
积分:11069
积分:11069
排名:第415名
原创:447篇
转载:42篇
评论:176条
(6)(7)(2)(2)(2)(3)(5)(2)(5)(1)(2)(9)(2)(11)(8)(19)(15)(33)(38)(35)(15)(7)(7)(14)(23)(14)(7)(3)(20)(37)(23)(37)(6)(25)(44)登录用户才能评论,请先或。快速解答标签
价值作最多

我要回帖

更多关于 datagridview编辑 的文章

 

随机推荐