tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 重複行の削除  テキストファイルのUNICODE変換
投稿日: 2008/11/13(Thu) 11:09
投稿者魔界の仮面弁士
>> ファイル変換を行いたくないのであれば、OpenTextFieldParser を使うのは諦めて、
> TextFieldParser コンストラクタには TextReader や Stream & Encoding も渡せるので、

おぉーぅ。TextFieldParser に Public コンストラクタがあったのか…。

OpenTextFieldParser / TextFieldParser を使った事が無いので気付いていませんでした。
御指摘ありがとうございます。


> ところでこのDataGridViewはテーブルにリンクしていないので、
ん? DataTable にデータバインドさせているように見えますけれども。。。

> 重複行を削除する場合はどのようにしたら良いでしょうか。

自身でループさせて削除する(または、DataTable.Add 時に重複チェックする)といった
方法ぐらいしか思いつきませんでした…。

Public Sub DictinctRow(ByVal tbl As DataTable)
 Dim dv As New DataView(tbl)
 Dim cols As New List(Of String)()
 For Each col As DataColumn In tbl.Columns
  cols.Add(col.ColumnName)
 Next
 dv.Sort = String.Join(",", cols.ToArray())

 Dim preRow As String = Nothing
 For r As Integer = dv.Count - 1 To 0 Step -1
  Dim s As String = Join(dv(r).Row.ItemArray, vbNullChar)
  If preRow = s Then
   With dv(r).Row
    .Delete()
    If .RowState = DataRowState.Deleted Then
     .AcceptChanges()
    End If
   End With
  Else
   preRow = s
  End If
 Next
End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。