メモとして。
方法としては「名前」と「ふりがな」データを持つクラスをつくり「ToString」では「名前」を返し、比較は「ふりがな」でするようにします。
StringWithClass.vb
<code>Imports System
Imports System.Collections
Public Class StringWithKanaClass
' IComparableインターフェイスをインプリメント
Implements IComparable
' メンバ
Public Name As String
Public Kana As String
Public Sub New()
End Sub
Public Sub New(ByVal Name As String, ByVal Kana As String)
MyClass.Name = Name
MyClass.Kana = Kana
End Sub
' ToString()は「Name」を返す
Public Overrides Function ToString() As String
Return Name
End Function
'比較する関数
Public Function CompareTo(ByVal o As Object) As _
Integer Implements IComparable.CompareTo
'自分と同じ型の場合のみ比較
If TypeOf o Is StringWithKanaClass Then
Dim g As StringWithKanaClass = CType(o, StringWithKanaClass)
Select Case Me.Kana.CompareTo(g.Kana)
Case 0
Return 0
Case Is > 0
Return 1
Case Is < 0
Return -1
End Select
End If
Return 0
End Function
End Class</code>
DetaGridViewのセルには以下のように代入
<code>DataGridView1(c, i).Value = New StringWithKanaClass("名前","なまえ")</code>
コメントを残す