2016-03-19 10 views
0

データセットをデータセットにソートしようとしています。 Aluno(学生)
表2 - - Curso(もちろん)データセットスキーマでデータテーブルをソートする方法

テーブルaluno主キー 'CPF' を持っているこのデータセットで は、私が関係

表1と2つのテーブルを持っています。しかし、NAME(NOME)でソートしたいのですが、ソート・サブはNOMEの親テーブルALUNOでは機能しません。

結果はソートされません。私はテーブル学生をNAMEで注文しなければならないので、このテーブルはデータセットスキーマに入っているので、データビューを使用したくありません。ここで

私のコードスニペットです:

 if (dtGrdAlunos.HitTest(new Point(e.X, e.Y)).Row == -1 && dtGrdAlunos.DataSource != null) 
     { 

      if (sSortType == string.Empty && sColumnToSort == string.Empty) 
       sSortType = " ASC"; 
      else if (sColumnToSort == dtTblAluno.Columns[dtGrdAlunos.HitTest(new Point(e.X, e.Y)).Column].ColumnName.ToString()) 
       sSortType = (sSortType == " DESC" ? " ASC" : " DESC"); 
      else if (sColumnToSort != dtTblAluno.Columns[dtGrdAlunos.HitTest(new Point(e.X, e.Y)).Column].ColumnName.ToString()) 
       sSortType = " ASC"; 

      sColumnToSort = dtTblAluno.Columns[dtGrdAlunos.HitTest(new Point(e.X, e.Y)).Column].ColumnName.ToString(); 
      rcTxtLeiaute.Text = sColumnToSort + " " + sSortType; 

      dtGrdAlunos.DataSource = null; 

      dsDataSet.Tables["Aluno"].DefaultView.Sort = sColumnToSort + sSortType; 
      dsDataSet.Tables["Aluno"].AcceptChanges(); 
      dsDataSet.AcceptChanges(); 

      dtGrdAlunos.DataSource = dsDataSet.Tables["Aluno"]; 

      /* 
      Application.DoEvents(); 
      for (int j = 0; j < dsDataSet.Tables["Aluno"].Rows.Count; j++) 
      { 
       rcTxtLeiaute.Text += j.ToString() + " - " + dsDataSet.Tables["Aluno"].Rows[j]["NOME"].ToString() + "\r"; 
      } 
      */ 
     } 
+0

DataTableをソートしません。データビューをソートするhttps://msdn.microsoft.com/en-us/library/system.data.dataview.sort%28v=vs.110%29.aspx –

+0

私はあなたに男に感謝します。 – Everest

答えて

0

あなたが直接、テーブルのSelectメソッドを呼び出すことにより、データテーブルの内容をフィルタリングし、ソートすることができます。この方法では、実行時にのみフィルタリングとソートが可能です。設計時にフィルタリングと並べ替えの基準を設定する場合、特にコントロールをフィルタまたは並べ替えの結果にバインドする場合は、データビューを使用します。詳細については、「データビューを使用したデータのフィルタリングとソート」を参照してください。

For more details on this click here

+0

実際には、 'DataTable.Select'ではテーブルをソートしません。必要な順序でソートされた行のサブセットを作成します。これはソートとはまったく異なります –

関連する問題