VS中的DataGridView控件,在机房重构里的出镜率还是很高哒~这篇博客就把一些有关DataGridView
南岳网站建设公司创新互联公司,南岳网站设计制作,有大型网站制作公司丰富经验。已为南岳上1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的南岳做网站的公司定做!
控件的一些使用细节和大家分享一下!
找到控件:
绑定数据源
选中行数代码实现:
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。
也不是很熟悉,将就用吧。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
With ListView1
.Columns.Add("姓名")
.Columns.Add("年龄")
.Columns.Add("姓别")
End With
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static Index As Integer
Index += 1
If ListView1.SelectedIndices.Count 0 Then '如果有选中则插入
Dim lItem As System.Windows.Forms.ListViewItem = ListView1.Items.Insert(ListView1.SelectedIndices.Item(0) + 1, "李丫" Index)
lItem.SubItems.AddRange(Split("24,女", ","))
Else '否则添加
Dim lItem As System.Windows.Forms.ListViewItem = ListView1.Items.Add("李丫" Index)
lItem.SubItems.AddRange(Split("24,女", ","))
End If
End Sub
简单的方法是把SQL返回暂存到datatable中,然后datatable添加一行汇总行(datatable中操作远快于Datagridview),最后把datatable绑定到Datagridview且设置Datagridview列不能排序
VB.NET2008代码:
Dim xlapp1 As Excel.Application
Dim xlworksheet As Excel.Worksheet
Dim xlworkbk As Excel.Workbook
xlapp1 = New Excel.Application
xlworkbk = xlapp1.Workbooks.Open("Excel文件名")
xlworksheet = xlworkbk.Worksheets("Sheet名")
xlworksheet.Cells.Item(行编号, 列编号).value ="需要输入的数据"
xlworkbk.Close()
另外,xlworksheet.UsedRange.Rows.Count是最大行数,可以用这个算行编号。
注意,需要引用Microsoft Excel Object Library(在COM的那个选项卡里)。