{"id":2114,"date":"2024-03-12T09:15:11","date_gmt":"2024-03-12T09:15:11","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/"},"modified":"2024-04-04T15:51:50","modified_gmt":"2024-04-04T15:51:50","slug":"how-to-implement-custom-sorting-in-datagridview","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/","title":{"rendered":"How to implement custom sorting in DataGridView?"},"content":{"rendered":"<p>To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when two cells in the DataGridView need to be compared and allows you to customize the comparison method within the event.<\/p>\n<p>Below is an example code demonstrating how to implement custom sorting in a DataGridView.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">dataGridView1_SortCompare<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">object<\/span> sender, DataGridViewSortCompareEventArgs e<\/span>)<\/span>\r\n{\r\n    <span class=\"hljs-comment\">\/\/ \u6307\u5b9a\u9700\u8981\u81ea\u5b9a\u4e49\u6392\u5e8f\u7684\u5217\u7684\u7d22\u5f15\uff08\u6b64\u5904\u5047\u8bbe\u9700\u8981\u5bf9\u7b2c\u4e00\u5217\u8fdb\u884c\u81ea\u5b9a\u4e49\u6392\u5e8f\uff09<\/span>\r\n    <span class=\"hljs-keyword\">if<\/span> (e.Column.Index == <span class=\"hljs-number\">0<\/span>)\r\n    {\r\n        <span class=\"hljs-comment\">\/\/ \u81ea\u5b9a\u4e49\u6bd4\u8f83\u903b\u8f91\uff0c\u6bd4\u5982\u5c06\u5355\u5143\u683c\u4e2d\u7684\u503c\u8f6c\u6362\u4e3a\u6574\u6570\u518d\u8fdb\u884c\u6bd4\u8f83<\/span>\r\n        <span class=\"hljs-built_in\">int<\/span> value1 = Convert.ToInt32(e.CellValue1);\r\n        <span class=\"hljs-built_in\">int<\/span> value2 = Convert.ToInt32(e.CellValue2);\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u6bd4\u8f83\u7ed3\u679c\uff0c1\u8868\u793avalue1\u5927\u4e8evalue2\uff0c-1\u8868\u793avalue1\u5c0f\u4e8evalue2\uff0c0\u8868\u793a\u76f8\u7b49<\/span>\r\n        e.SortResult = value1.CompareTo(value2);\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u6807\u8bb0\u6bd4\u8f83\u5df2\u7ecf\u5904\u7406\uff0c\u4e0d\u518d\u4f7f\u7528\u9ed8\u8ba4\u6392\u5e8f<\/span>\r\n        e.Handled = <span class=\"hljs-literal\">true<\/span>;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Add an event handler to the SortCompare event of the DataGridView when the form is loaded.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">Form1_Load<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">object<\/span> sender, EventArgs e<\/span>)<\/span>\r\n{\r\n    dataGridView1.SortCompare += dataGridView1_SortCompare;\r\n}\r\n<\/code><\/pre>\n<p>The code above demonstrates custom sorting of the first column. You can adjust the column index and comparison logic according to your needs. By implementing the SortCompare event, you can achieve custom sorting in DataGridView.<\/p>\n<p>&nbsp;<\/p>\n<p>More tutorials<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-disable-the-sorting-functionality-of-datagridview-in-editing-mode\/\" target=\"_blank\" rel=\"noopener\">sorting functionality of DataGridView in editing mode?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/what-are-the-scenarios-where-the-tostring-function-is-used-in-c\/\" target=\"_blank\" rel=\"noopener\">What are the scenarios where the tostring function is used in C++?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/what-are-the-scenarios-where-the-tostring-function-is-used-in-c\/\" target=\"_blank\" rel=\"noopener\">What are the scenarios where the tostring function is used in C++?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-display-data-in-a-datagridview-table\/\" target=\"_blank\" rel=\"noopener\">How to display data in a DataGridView table?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-add-a-button-column-in-a-datagridview\/\" target=\"_blank\" rel=\"noopener\">How to add a button column in a DataGridView?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when two cells in the DataGridView need to be compared and allows you to customize the comparison method within the event. Below is an example code demonstrating how to implement custom sorting in a DataGridView. [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2114","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to implement custom sorting in DataGridView? - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to implement custom sorting in DataGridView?\" \/>\n<meta property=\"og:description\" content=\"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-12T09:15:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-04T15:51:50+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"How to implement custom sorting in DataGridView?\",\"datePublished\":\"2024-03-12T09:15:11+00:00\",\"dateModified\":\"2024-04-04T15:51:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\"},\"wordCount\":194,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\",\"name\":\"How to implement custom sorting in DataGridView? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-12T09:15:11+00:00\",\"dateModified\":\"2024-04-04T15:51:50+00:00\",\"description\":\"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to implement custom sorting in DataGridView?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to implement custom sorting in DataGridView? - Blog - Silicon Cloud","description":"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/","og_locale":"en_US","og_type":"article","og_title":"How to implement custom sorting in DataGridView?","og_description":"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-12T09:15:11+00:00","article_modified_time":"2024-04-04T15:51:50+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"How to implement custom sorting in DataGridView?","datePublished":"2024-03-12T09:15:11+00:00","dateModified":"2024-04-04T15:51:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/"},"wordCount":194,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/","name":"How to implement custom sorting in DataGridView? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-12T09:15:11+00:00","dateModified":"2024-04-04T15:51:50+00:00","description":"To achieve custom sorting in a DataGridView, you can implement the SortCompare event of the DataGridView. This event is triggered when","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-custom-sorting-in-datagridview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to implement custom sorting in DataGridView?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=2114"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2114\/revisions"}],"predecessor-version":[{"id":72301,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/2114\/revisions\/72301"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=2114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=2114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=2114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}