繁体   English   中英

将其添加到datagridview后,如何称其为公共子对象?

[英]How can I call this public sub when I add to the datagridview?

    Public Sub DataGridView1_SortCompare(sender As Object, e As DataGridViewSortCompareEventArgs) Handles DataGridView1.SortCompare
    If e.Column.Index <> 0 Then
        Return
    End If
    Try
        e.SortResult = If(CDec(e.CellValue1) < CDec(e.CellValue2), -1, 1)
        e.Handled = True
    Catch
    End Try
End Sub

我是VB.net的新手,似乎无法弄清楚如何称呼此子

我尝试了Call DataGridView1_SortCompare(),但显然缺少一些参数。

基本上,我有一个form2将信息添加到datagridview中,但是添加之后,我需要对它按column(“ num”)进行排序。 我以为以下代码可以工作,但是它返回检查null的错误。

Form1.DataGridView1.Sort(DataGridView1.Columns("num"), System.ComponentModel.ListSortDirection.Ascending)

关于如何实现此目标的任何想法?

谢谢

我有一个form2,它将信息添加到datagridview,但是添加后,我需要对它按column(“ num”)排序。 我以为以下代码可以工作,但是它返回检查null的错误。

Form1.DataGridView1.Sort(DataGridView1.Columns("num"), System.ComponentModel.ListSortDirection.Ascending)

好的,因此以上语句在form2上执行。 我猜想form2也有一个DataGridView1因为编译器没有上述语句的问题,但是没有“ num”列。 即使它确实有这样的列,也将是错误的列。

如果该列不存在,则DataGridView1.Columns("num")不会出错。 而是返回Nothing (空)。 您需要在Form1上引用DataGridView1Columns属性。

Form1.DataGridView1.Sort(Form1.DataGridView1.Columns("num"), System.ComponentModel.ListSortDirection.Ascending)

希望我能理解你的问题。 如果只是填充了datagridview,那么如果要创建一个基本的排序方法,则可以在datagridview填充后调用它。 我创建了一个显示示例:

Public Class Form1

Public Shared Sub Sort()

    Form1.DataGridView1.Sort(Form1.DataGridView1.Columns("num"), System.ComponentModel.ListSortDirection.Ascending)

End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim dt As New DataTable
    dt.Columns.Add("ID")
    dt.Columns.Add("num")
    dt.Columns(0).AutoIncrement = True

    For value As Integer = 0 To 5
        Dim R As DataRow = dt.NewRow
        If value <> 2 Then
            R("num") = "Test" & value
            dt.Rows.Add(R)
        Else
            R("num") = ""
            dt.Rows.Add(R)
        End If
        DataGridView1.DataSource = dt

    Next
    Sort()
End Sub
End Class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM