VS中的DataGridView控件,在机房重构里的出镜率还是很高哒~这篇博客就把一些有关DataGridView
创新互联公司是一家专注于做网站、成都网站制作与策划设计,唐河网站建设哪家好?创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:唐河等地区。唐河做网站价格咨询:028-86922220
控件的一些使用细节和大家分享一下!
找到控件:
绑定数据源
选中行数代码实现:
DataGridView1.SelectedRows.Count
以增加删除用户窗体中的删除所选行数代码为例:
[vb] view plain copy
Private Sub btnDeleteUser_Click(sender As Object, e As EventArgs) Handles btnDeleteUser.Click
'判断下拉表中是否选择了用户类型
If cmbUserLevel.SelectedItem = "" Then
MsgBox("如需删除用户,请先选择用户类型!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
Dim K As Integer = DataGridView1.SelectedRows.Count
Dim FFacade As New Facade.DeleteUserFacade
Dim Uuser As New Entity.AddDeleteUserInfo
Dim strResult As Boolean
'strResult = FFacade.DeleteUserinfo(Uuser)
If DataGridView1.SelectedRows.Count 0 Then '如果选中的行数大于0
For i As Integer = K To 1 Step -1
'获取控件的第N行的第一列数据,得到用户ID,以用户ID为主键来删除整行数据
Dim userinfo As String = DataGridView1.SelectedRows(i - 1).Cells("UserID").Value.ToString
'删除的数据不能为当前登录的用户,需要判断用户ID
If Entity.Share.ID.Trim = userinfo Then
MsgBox("您无法删除当前登录的用户!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
Uuser.UserID = userinfo
End If
strResult = FFacade.DeleteUserinfo(Uuser)
'If FFacade.DeleteUserinfo(Uuser) Then
If strResult = True Then
'删除选中行
DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(i - 1).Index)
MsgBox("数据删除成功!", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Next
Else '如果选中的行数不大于0
MsgBox("请您选中所要删除的行!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
'DataGridView1.Rows.Clear()
End If
End Sub
运行图:
常用属性:
1.想把Datagridview的第一行隐藏。 Idea:把RowHeadersVisible属性改为False就可以。
2.DataGridview显示出datatable之后,最后一行有空白行怎么去掉?
Idea:修改AllowUserToAddRow属性为False。
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
在SQL数据库里已有一个现成的空数据表(只有字段、没有数据),请问高手,怎样在VB.NET中用SQL语句把该数据库中的那个表复制一个到该数据库(字段不变、数据为空)只是把数据表的名改了?
谢谢!谢谢!
解析:
select * into 新表 from 旧表
使用 SELECT INTO 插入行
SELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表。新表的结构由选择列表中表达式的特性定义,例如:
SELECT Shippers.*, Link.Address, Link.City,
Link.Region, Link.PostalCode
INTO NewShippers
FROM Shippers
JOIN LinkServer.DB.dbo.Shippers AS Link
ON (Shippers.ShipperID = Link.ShipperID)
SELECT INTO 可将几个表或视图中的数据组合成一个表。也可用于创建一个包含选自链接服务器的数据的新表。
首先在项目的VB.NET界面,使用菜单【项目】--【添加引用】--【COM】
选择 Microsoft ADO Ext. 2.x for DDL and Security
然后单击【确定】,完成引用。
完整代码如下:
Imports ADOX
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'创建空的access数据库文件--数据库文件.mdb,密码为123
Dim Mycat As Catalog = New Catalog()
Mycat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source= 数据库文件.mdb;Jet OLEDB:Database Password=123")
'以下代码创建一个名为“实验数据表”
Dim MyTable As ADOX.Table = New ADOX.Table '定义新表
MyTable.Name = "实验数据表" '表命名
'给表“实验数据表” 创建一个字符串字段,字段名“姓名”
MyTable.Columns.Append("姓名", , ADOX.DataTypeEnum.adWChar)
'给表“实验数据表” 创建一个整数字段,字段名“学号”
MyTable.Columns.Append("学号", ADOX.DataTypeEnum.adInteger) '追加一个数字型字段
'给字段“学号”创建一个主键“PimaryKey_Field”
MyTable.Keys.Append("学号", ADOX.KeyTypeEnum.adKeyPrimary, "学号")
Mycat.Tables.Append(MyTable) '把所有的新字段追加到表
MyTable = Nothing
Mycat = Nothing
End Sub
End Class
错误提示不说得很清楚么,类型不对。
你操作有数据的记录时,有日期的那个字段它是有数据的,直接可以取出date型数据,而如果为空的话,那就不是date型数据了,它就是一个null了,是空的,null和date是两回事。所以你在写程序的时候,要检查一下,字段是不是null,如果是null那就不能往外读数,不是null,那就直接往外读。