簡體   English   中英

如何在datagridview中按升序對ID進行排序

[英]How do I sort the Id in ascending order in datagridview

這是我用來按升序對ID進行排序的代碼。

SqlCeDataAdapter da = new SqlCeDataAdapter("select * from Contact_List order by Id ASC", con);
        DataTable dt = new DataTable();
        da.Fill(dt);
        dataGridView1.DataSource = dt;

只對數字的第一位排序

例如我有Id:1,11,2

該代碼將該列表排序為= 1,11,2

但我希望它對列表進行排序= 1,2,11

怎么做?

不,它不是按第一位排序,而是按值而不是數字進行排序。 文本排序按字典順序進行,因此“ 11”位於“ 2”之前,就像“ AA”位於“ B”之前。 我猜你的id列是像VARCHAR這樣的文本值; 如果您僅在其中存儲數字,則它實際上應該是一個像INT這樣的數字值。

同時,您應該能夠獲得正確的行為-假設您實際上只是通過以下轉換來存儲數字值:

select * from Contact_List order by CONVERT(INT, Id) ASC

無論哪種方式,如果你有對數據庫架構進行任何控制,你應該讓他做其工作,並存儲值用正確的數據類型。

我假設您正在為ID使用varchar字段。 將其強制轉換為int類型,然后對表中的數據類型進行排序或更改。

select CAST(Id AS int) from Contact_List order by CAST(Id AS int) ASC

暫無
暫無

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

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