首页 > 其他分享 >这是我在51CTO博客的第三篇博文

这是我在51CTO博客的第三篇博文

时间:2023-10-05 18:00:48浏览次数:33  
标签:第三篇 End 51CTO 博文 vDGV DataGridView Rows True DataTable

自我介绍

我是51CTO新人,初来学习,喜欢研究计算机,学习dotnet的winform,望各位前辈老师们多多指教。

技术分享

今天带来的是在winform中,利用DataTable与DataGridView配合进行数据的显示。

'全局设置
Dim DGVDT As DataTable


'Load等初始化设置
        DGVDT = New DataTable
        With DGVDT.Columns
            .Add("数据1", GetType(String))
            .Add("数据2", GetType(String))
        End With
        DataGridView1.DataSource = DGVDT


'使用方法
        AddOneGrid(DataGridView1, DGVDT, CheckedListBox1.SelectedItem, ListBox1.SelectedItem)
        DeleteGrid(DataGridView1, DGVDT)


'实现方法
    ''' <summary>
    ''' 向数据表中新增一行
    ''' </summary>
    ''' <param name="vDGV">用于显示数据的DataGridView</param>
    ''' <param name="vDT">用于存储数据的DataTable</param>
    ''' <param name="vData0">新增行的第一列数据</param>
    ''' <param name="vData1">新增行的第二列数据</param>
    ''' <returns>返回一个布尔值,True表示顺利执行,False表示执行过程产生了错误。</returns>
    ''' <remarks>此方法适用于DataGridView的数据源绑定了DataTable的情况,数据参数应该随DataTable的变化而变化</remarks>
    Private Function AddOneGrid(vDGV As DataGridView, vDT As DataTable, vData0 As Object, vData1 As Object) As Boolean
        Dim result As Boolean = True
        Try
            If Len(vData0.ToString) > 0 AndAlso Len(vData1.ToString) > 0 Then
                Dim dtrow As DataRow = vDT.NewRow
                With dtrow
                    .Item("数据1") = vData0
                    .Item("数据2") = vData1
                End With
                vDT.Rows.Add(dtrow)
                vDGV.MultiSelect = False
                vDGV.Rows(vDGV.Rows.Count - 1).Selected = True
                vDGV.CurrentCell = vDGV.Rows(vDGV.Rows.Count - 1).Cells(0)
                vDGV.MultiSelect = True
            Else
                result = False
            End If
        Catch ex As Exception
            result = False
        End Try
        Return result
    End Function

    ''' <summary>
    ''' 删除数据表中选中的行
    ''' </summary>
    ''' <param name="vDGV">用于显示数据的DataGridView</param>
    ''' <param name="vDT">用于存储数据的DataTable</param>
    ''' <returns>返回一个布尔值,True表示顺利执行,False表示执行过程产生了错误。</returns>
    ''' <remarks>此方法适用于DataGridView的数据源绑定了DataTable的情况</remarks>
    Private Function DeleteGrid(vDGV As DataGridView, vDT As DataTable) As Boolean
        Dim result As Boolean = True
        Try
            Dim j As Integer = vDGV.SelectedRows.Count
            Do While j > 0
                Dim i As Integer = 0
                Do
                    If vDGV.Rows(i).Selected Then
                        vDT.Rows(i).Delete()
                        j -= 1
                        Exit Do
                    Else
                        i += 1
                    End If
                Loop
            Loop
            If vDGV.Rows.Count > 0 Then
                vDGV.MultiSelect = False
                vDGV.Rows(vDGV.Rows.Count - 1).Selected = True
                vDGV.CurrentCell = vDGV.Rows(vDGV.Rows.Count - 1).Cells(0)
                vDGV.MultiSelect = True
            End If
        Catch ex As Exception
            result = False
        End Try
        Return result
    End Function

结束语

这个代码片段是我学习的时候用的,由于技术和经验有限,如果哪儿不合适的恳请各位前辈和大佬批评指正。

标签:第三篇,End,51CTO,博文,vDGV,DataGridView,Rows,True,DataTable
From: https://blog.51cto.com/u_16253833/7716397

相关文章

  • (10/1-10/31)10月摸鱼计划,挑战7/14/21天发博文,实体礼品包邮送!
    10月摸鱼计划,来啦!本月继续以【博主任务】形式,让大家自发选择更文任务!任务达标后即可兑奖!且任务间的奖品可同享!【活动时间】发文时间:2023年10月1日—2023年10月31日【活动任务】以下任务福利可同享!!任务一:7天更文任务要求任务链接任务奖品7天发布文章(可以非连续)发文直达>>https://blo......
  • 【博文阅读】2023/09/26
      一、ICCV2023|Apple提出FastViT:快速卷积和Transformer混合架构论文名称:FastViT:AFastHybridVisionTransformerusingStructuralReparameterization论文地址:https://arxiv.org/pdf/2303.14189代码地址:https://github.com/apple/ml-fastvit博文地址:https://mp.w......
  • 记在51CTO的第一篇博文,学习网络安全相关知识记录
    作为一名在校大学生,除去学校所学知识,还有许多课余时间自学的知识,现在通过博文的方式记录下来并且进行分享,有不足之处请多多指出!一、学习笔记部分前后端分离前端:JS框架,API传输数据(使用接口传输,前后端两个网页)前端只用于显示页面,后端在其他域名下,使用后台管理软件来指向前端网站前端......
  • 《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
    前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户......
  • 这是我在51CTO博客的第一篇博文
    1.SpringBoot概述1.1SpringBoot概念SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。2014年4月,SpringBoot1......
  • 云原生环境搭建第三篇:Ceph存储
    云原生环境搭建第三篇:Ceph存储原创 杨同港 者行花 2023-07-1811:43 发表于山东收录于合集#云原生5个GlusterFS在k8s1.25中被移除,所以开源的,社区活跃度高的分布式存储最优选就是ceph,本文使用rook-ceph部署ceph集群。ceph是一个开源的存储平台。它的架构如下:Ceph存......
  • 多线程学习第三篇
    3、线程状态线程五大状态:创建状态:通过new创建线程就绪状态:通过start()启动线程进入就绪状态阻塞状态:通过CPU调配进入运行状态运行状态:在运行状态时,可以进行如sleep,wait等方法使线程进入阻塞状态死亡状态:自然执行完毕、外部干涉终止线程具体流程为:3.1、线程的常用......
  • (9/1-9/30)9月摸鱼计划,挑战7/14/21天发博文,实体礼品包邮送!
    9月摸鱼计划,来啦!本月继续以【博主任务】形式,让大家自发选择更文任务!任务达标后即可兑奖!且任务间的奖品可同享!【活动时间】发文时间:2023年9月1日—2023年9月30日【活动任务】以下任务福利可同享!!任务一:7天更文任务要求任务链接任务奖品7天发布文章(可以非连续)发文直达>>https://blog.5......
  • 科学网—VBox虚拟机中,deepin系统下共享文件夹 - 苏威的博文 (sciencenet.cn)
    科学网—VBox虚拟机中,deepin系统下共享文件夹-苏威的博文(sciencenet.cn) mount-tvboxsfnn(共享文件夹名称)/home/shared......
  • 总结:第一章:从入门到入职拿到过万月薪我需要这些技能(400多篇博文系统归类)P5级
    博文介绍:这篇博文我改了一周,职业生涯所有技能例如javaSE基础,ssm框架,springcloud全家桶,dubbo+zk框架,MySQL数据库,MongoDB数据库,redis缓存,es与solr全文搜索,linux系统,docker应用容器引擎,Activiti工作流,Fastdfs分布式文件系统,ActiveMQ与RabbitMQ消息队列,JUC并发线程工具......