0

我有一个像这样的数据表

     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

上表按名称列排序。我该怎么做?

4

3 回答 3

1

这种东西应该适合你。

dataTable.DefaultView.Sort = "Name asc";

您还可以创建一种方法,通过将不同列作为参数来更改它们的升序/降序行为。您必须认识到的唯一挑战是单击了哪个列标题。那不应该那么困难。

希望能帮助到你。

于 2013-07-03T12:46:27.770 回答
0

我认为 select 可以解决问题。它有一个排序选项

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

于 2013-07-03T12:04:05.597 回答
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();

}

于 2013-07-03T14:20:03.100 回答