簡體   English   中英

按日期降序排序

[英]sort date into descending order

我希望默認情況下在Gridview中以降序顯示日期。

DataTable dt = new DataTable();
SqlDataAdapter adp = 
   new SqlDataAdapter("SELECT Customer.CustomerID, Customer.lastname, Customer.firstname, 
                              Ticket.Date, Ticket.Store, Ticket.Amount, Ticket.NoStub " +
                      "FROM Customer INNER JOIN Ticket ON Customer.CustomerID = Ticket.CustomerID 
                       WHERE Customer.CustomerID like " + txtCustomerID.Text, cn);
adp.Fill(dt);
gvHistory.DataSource = dt;

只需添加:

 order by Ticket.Date desc

到你的sql語句的末尾,如下所示:

DataTable dt = new DataTable();
        SqlDataAdapter adp = new SqlDataAdapter("SELECT Customer.CustomerID,             Customer.lastname, Customer.firstname, Ticket.Date, Ticket.Store, Ticket.Amount, Ticket.NoStub " +
                                                "FROM Customer INNER JOIN Ticket ON Customer.CustomerID = Ticket.CustomerID WHERE Customer.CustomerID like " + txtCustomerID.Text + " order by Ticket.Date desc", cn);
        adp.Fill(dt);
        gvHistory.DataSource = dt;

正如@Adels的回答,你可以通過改變你的sql語句來訂購,如果你想通過代碼來做。 嘗試DataGridView.Sort方法如下

gvHistory.Sort(gvHistory.Columns["ColumnName"], ListSortDirection.Descending);
  1. 我建議在數據網格上使用Sort函數,就像Damith推薦的那樣
  2. 不要直接將用戶參數放入SQL語句中 您必須使用WHERE Customer.CustomerID like @customerId ,然后在命令中添加一個參數,其中name = @customerId and value = txtCustomerID.Text 這1)防止用戶輸入破壞數據庫,2)防止膨脹SQL計划緩存。
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter(
                      "SELECT Customer.CustomerID,
                              Customer.lastname, 
                              Customer.firstname, 
                              Ticket.Date, 
                              Ticket.Store, 
                              Ticket.Amount,
                              Ticket.NoStub " +
                      "FROM Customer INNER JOIN Ticket ON 
                              Customer.CustomerID = Ticket.CustomerID WHERE         
                              Customer.CustomerID like " + txtCustomerID.Text + " 
                              order by Ticket.Date desc", cn);
adp.Fill(dt);
gvHistory.DataSource = dt;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM