如何对数据表中的特定列行进行排序

时间:2013-07-03 11:54:06

标签: c#-4.0 sorting datatable

我有像这样的DataTable

     Name     Age

     Raj      20
     Biny     19
     Raj      17
     Jose     27
     Jose     15

当我单击Name列时,我应该将数据表排序为

       Name     Age

      Biny     19        
      Jose     15
      Jose     27
      Raj      17
      Raj      20

上表根据名称列进行排序。我该怎么办?

3 个答案:

答案 0 :(得分:1)

这种东西对你有用。

dataTable.DefaultView.Sort = "Name asc";

此外,您可以创建一个方法来通过将它们作为参数来更改dofferent列的升序/降序行为。只有挑战才能识别单击哪个列标题。那不应该那么困难。

希望它有所帮助。

答案 1 :(得分:0)

我认为select会起作用。它有一个排序选项

http://msdn.microsoft.com/en-us/library/way3dy9w.aspx

答案 2 :(得分:0)

解决此问题的一个方法是制作存储过程

SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO

Create PROCEDURE [dbo].[proc_<procedure_name>]
AS
BEGIN

SET NOCOUNT ON
DECLARE @Err int

SELECT [Name], [Age]
FROM [Table_Name]
ORDER BY Name ASC
SET @Err = @@Error

RETURN @Err
END

调用此存储过程

using (var conn = new SqlConnection(connectionString))
using (var command = new SqlCommand("ProcedureName", conn) { 
                       CommandType = CommandType.StoredProcedure }) {
conn.Open();
command.ExecuteNonQuery();
conn.Close();

}

相关问题