[英]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.