加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – DataGridView列顺序似乎不起作用

发布时间:2020-12-17 00:14:07 所属栏目:大数据 来源:网络整理
导读:我有一个绑定到业务对象列表的DataGridView: Dim template As New IncidentTemplateDim temps As List(Of IncidentTemplate) = template.LoadAllDim bs As New BindingSourceIf Not temps Is Nothing Then bs.DataSource = temps Me.dgvTemplates.DataSourc
我有一个绑定到业务对象列表的DataGridView:
Dim template As New IncidentTemplate
Dim temps As List(Of IncidentTemplate) = template.LoadAll
Dim bs As New BindingSource

If Not temps Is Nothing Then

   bs.DataSource = temps
   Me.dgvTemplates.DataSource = bs

End If

然后我添加一个未绑定的按钮列,并使一些绑定列不可见:

Dim BtnCol As New DataGridViewButtonColumn
        With BtnCol
            .Name = "Edit"
            .Text = "Edit"
            .HeaderText = String.Empty
            .ToolTipText = "Edit this Template"
            .UseColumnTextForButtonValue = True
        End With

        .Columns.Add(BtnCol)
        BtnCol = Nothing

        For Each col As DataGridViewColumn In Me.dgvTemplates.Columns

               Select Case col.Name

                Case "Name"
                    col.DisplayIndex = 0
                    col.FillWeight = 100
                    col.Visible = True

                Case "Description"
                    col.DisplayIndex = 1
                    col.FillWeight = 100
                    col.Visible = True

                Case "Created"
                    col.DisplayIndex = 3
                    col.HeaderText = "Created On"
                    col.DefaultCellStyle.Format = "d"
                    col.FillWeight = 75
                    col.Visible = True

                Case "CreatedBy"
                    col.DisplayIndex = 2
                    col.HeaderText = "Created By"
                    col.FillWeight = 75
                    col.Visible = True

                Case "Edit"
                    col.DisplayIndex = 4
                    col.HeaderText = ""
                    col.FillWeight = 30
                    col.Visible = True

                Case Else
                    col.Visible = False

            End Select

        Next

这似乎工作得相当好,除了我做的事情,按钮列(编辑)总是显示在其他列的中间而不是在结尾.我已经尝试了DGV.Columns.Add和DGV.Columns.Insert以及设置列的DisplayIndex(这适用于所有其他列)但我无法使按钮列显示在正确的位置.我也尝试在设置其余列之前和之后添加按钮列,但这似乎没有区别任何人都可以建议我做错了什么?这让我疯狂….

我在寻找解决类似问题时偶然发现了你的帖子.我最后通过你提到(使用DisplayIndex属性)并将DataGridView的AutoGenerateColumns属性设置为false来跟踪它.此属性在设计器中不可见,因此我将其添加到表单的构造函数中.在为网格设置数据源之前,请务必执行此操作.

希望这可以帮助…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读