2016-04-05 6 views
0

最初にデータ型が文字列であるdatagridviewに列がありますが、1 10 2 27 3 4のような並べ替えの問題があることに気がつくと、データ型はintになります。それでも問題は残っている。vb.netを使用してdatagridviewのint列を並べ替える方法

データベースを更新してテーブルを設定しましたが、まだ運がありません。

どうすればいいですか?

答えて

0

このお試しください:私はデータソースを持っているのように申し訳ありません、私は非常に悪いです..

Public Class Form1 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    'Creating test table 
    Dim dt As New DataTable 
    dt.Columns.Add("string") 
    For i As Integer = 0 To 100 
     dt.Rows.Add(dt.NewRow) 
     dt.Rows(i)(0) = i.ToString 
    Next 

    'Sample 
    dt.Columns.Add("integer", _ 
       GetType(System.Int32), "string") 
    dt.DefaultView.Sort = "integer" 
    dt.Columns("integer").ColumnMapping = _ 
      MappingType.Hidden 
    DataGridView1.DataSource = dt 
End Sub 
End Class 

「または

Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

    Dim r As New Random 
    For i As Integer = 0 To 99 
     Me.DataGridView1.Rows.Add(r.Next(1, 99).ToString, r.Next(1, 99).ToString, r.Next(1, 99).ToString) 
    Next 

    ' this adds a new column of type Integer 
    Me.DataGridView1.Columns.Add("Dummy", "Dummy") 
    Me.DataGridView1.Columns("Dummy").ValueType = GetType(Integer) 
    ' hide the new column 
    Me.DataGridView1.Columns("Dummy").Visible = False 

    ' copy the original column values (here I use column 2) 
    ' as Integers into new column 
    For Each row As DataGridViewRow In Me.DataGridView1.Rows 
     With row 
      Dim v As Integer = 0 
      If Integer.TryParse(.Cells(2).Value.ToString, v) Then 
       .Cells("Dummy").Value = v 
      End If 
     End With 
    Next 
End Sub 

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    ' sort DataGridView on column ("Dummy") which indirectly sorts on 
    ' original column(2) - Descending 
    Me.DataGridView1.Sort(Me.DataGridView1.Columns("Dummy"), System.ComponentModel.ListSortDirection.Descending) 
End Sub 
+0

をしかし、私は私のコードで列を追加していませんよ説明していますが、あなたは正しいと思いますか? –

+0

@ J.Leoあなたの質問を例で編集してください.. – Dejan

+0

@JLeoあなたはデータビューをソートし、グリッドにバインドすることができます – Dejan

関連する問題