{"id":15468,"date":"2017-04-24T08:00:55","date_gmt":"2017-04-24T15:00:55","guid":{"rendered":"https:\/\/www.uxpin.com\/studio\/?p=15468"},"modified":"2024-05-20T19:34:54","modified_gmt":"2024-05-21T02:34:54","slug":"make-sortable-table-rows-uxpin","status":"publish","type":"post","link":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/","title":{"rendered":"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed"},"content":{"rendered":"<p>Many design systems include simulations of their interactive widgets, although they stop short of providing real content. That\u2019s not their job. Their job is to play what-if.<\/p>\n<p>For example, while many prototyping tools won\u2019t sort data on your behalf, you <em>can<\/em> create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.<\/p>\n<p>Sortable tables rearrange content when people click on their headings. They\u2019re not impossible to simulate \u2014 far from it. Here are five steps to building sortable tables.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15469\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/03\/Final-sortable-table.gif\" alt=\"A sortable table\" width=\"348\" height=\"294\" \/><\/p>\n<h2>1. Create random content in rows and columns<\/h2>\n<p>In a prototyping or design app, make each table column its own <a href=\"https:\/\/www.uxpin.com\/studio\/user-guide\/working-with-elements\/\">text element<\/a>. Although in some cases you\u2019ll need a ton of content, for brevity here we\u2019ll only create six rows with three columns. Give them sensible names like \u201cID\u201d, \u201cname\u201d, and \u201cstatus\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15470\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/03\/Where-are-layers.png\" alt=\"Where to find layers\" width=\"700\" height=\"231\" \/><\/p>\n<h2>2. Make column headings<\/h2>\n<p>Give each column a title, analogous to a <code>&lt;th&gt;<\/code> element in HTML. As before, make each heading its own text element. Adding a dividing rule line is optional \u2014 use your best visual judgement as defined by your design system\u2019s typography guidelines.<\/p>\n<p>The more specific your design system is, the more specifically you can name the columns. For example, if a system spells out how special components should behave, like lists of users or a category management system, then your system should include those headings. However, if \u201csortable table\u201d could apply to anything, then generic headings are best. Don\u2019t forget to spell out what\u2019s allowed in <a href=\"https:\/\/www.uxpin.com\/studio\/user-guide\/previewing-and-collaborating\/#documentation\">the component\u2019s notes<\/a>.<\/p>\n<h2>3. Give the element states per column<\/h2>\n<p>Select all of the table data, and make a <a href=\"https:\/\/www.uxpin.com\/studio\/user-guide\/multistate-elements\/\">multistate element<\/a>. Create one state per column, named to reflect their heading. In this case:<\/p>\n<ul>\n<li>\u201cSort by ID\u201d<\/li>\n<li>\u201cSort by name\u201d<\/li>\n<li>\u201cSort by status\u201d<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15488\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Create-a-MSE-3.gif\" alt=\"Create a multistate element for a sortable table\" width=\"700\" height=\"217\" \/><\/p>\n<p>I also recommend you name the multistate element something like \u201csortable table\u201d so you can easily find it when assigning interactions in step five.<\/p>\n<h2>4. Rearrange the content per state<\/h2>\n<p>Alphabetize or sort by number the content in each state, according to its column.<\/p>\n<h2>5. Make the headings clickable<\/h2>\n<p>Use <a href=\"https:\/\/www.uxpin.com\/studio\/user-guide\/basic-interactions\/\">interactions<\/a>: \u201cset state\u201d to each state to which the column heading refers. (You <em>did<\/em> name the states in step three, didn\u2019t you?)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15472\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/03\/Where-is-the-interaction.png\" alt=\"Where to find interactions\" width=\"700\" height=\"600\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/03\/Where-is-the-interaction.png 700w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/03\/Where-is-the-interaction-350x300.png 350w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<h2>Designing data<\/h2>\n<p>More than mere visuals style guides, good design systems include simulations of their interactive widgets to play what-if: what if someone clicks this? How should the system react? The simulated solution that suggests answers is just a few states away.<\/p>\n<h2>Demo<\/h2>\n<p>Check out this <a href=\"https:\/\/preview.uxpin.com\/c1e714f21d41e0844dc0f8aefff5115246243939#\/pages\/66662622\/simulate\/no-panels\">live sample<\/a> to see it in action, then grab a <a href=\"https:\/\/www.uxpin.com\">free trial<\/a> to try it yourself.<\/p>\n<section class=\"uxpin-trial-widget\"><h2>Join the world's best designers who&nbsp;use UXPin.<\/h2><span class=\"white-info\">Sign up for a free trial.<\/span><a href=\"https:\/\/www.uxpin.com\/sign-up\" class=\"btn btn-flat sign-up-btn white\">Try it for free!<\/a><\/section>\n","protected":false},"excerpt":{"rendered":"<p>While UXPin won\u2019t sort data on your behalf, you <em>can<\/em> create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.<\/p>\n","protected":false},"author":27,"featured_media":15473,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,11,6,19],"tags":[],"class_list":["post-15468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-tutorials","category-ux-design","category-uxpin"],"yoast_title":"Add Interaction to your Prototypes by Simulating Data-Sorting","yoast_metadesc":"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Add Interaction to your Prototypes by Simulating Data-Sorting<\/title>\n<meta name=\"description\" content=\"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.\" \/>\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.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed\" \/>\n<meta property=\"og:description\" content=\"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/\" \/>\n<meta property=\"og:site_name\" content=\"Studio by UXPin\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-24T15:00:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-21T02:34:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ben Gremillion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@benthinkin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Gremillion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/\"},\"author\":{\"name\":\"Ben Gremillion\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/6dd4adede4f1009af0b52cc6531d1d0f\"},\"headline\":\"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed\",\"datePublished\":\"2017-04-24T15:00:55+00:00\",\"dateModified\":\"2024-05-21T02:34:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/\"},\"wordCount\":434,\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/Sortable-table-teaser.png\",\"articleSection\":[\"Blog\",\"Tutorials\",\"UX Design\",\"UXPin\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/\",\"name\":\"Add Interaction to your Prototypes by Simulating Data-Sorting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/Sortable-table-teaser.png\",\"datePublished\":\"2017-04-24T15:00:55+00:00\",\"dateModified\":\"2024-05-21T02:34:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/6dd4adede4f1009af0b52cc6531d1d0f\"},\"description\":\"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/Sortable-table-teaser.png\",\"contentUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/Sortable-table-teaser.png\",\"width\":720,\"height\":200,\"caption\":\"Sortable table teaser\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/make-sortable-table-rows-uxpin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\",\"name\":\"Studio by UXPin\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/6dd4adede4f1009af0b52cc6531d1d0f\",\"name\":\"Ben Gremillion\",\"description\":\"Ben Gremillion is a Content Strategist at UXPin. He\u2019s worked as both a web designer and a back-end developer. On the side he builds and maintains a CMS for webcomic artists, and participates in annual NaNoWriMo challenges.\",\"sameAs\":[\"https:\\\/\\\/www.uxpin.com\",\"https:\\\/\\\/x.com\\\/benthinkin\"],\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/author\\\/bengremillion\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Add Interaction to your Prototypes by Simulating Data-Sorting","description":"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.","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.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/","og_locale":"en_US","og_type":"article","og_title":"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed","og_description":"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.","og_url":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/","og_site_name":"Studio by UXPin","article_published_time":"2017-04-24T15:00:55+00:00","article_modified_time":"2024-05-21T02:34:54+00:00","og_image":[{"width":720,"height":200,"url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png","type":"image\/png"}],"author":"Ben Gremillion","twitter_card":"summary_large_image","twitter_creator":"@benthinkin","twitter_misc":{"Written by":"Ben Gremillion","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#article","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/"},"author":{"name":"Ben Gremillion","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/6dd4adede4f1009af0b52cc6531d1d0f"},"headline":"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed","datePublished":"2017-04-24T15:00:55+00:00","dateModified":"2024-05-21T02:34:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/"},"wordCount":434,"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png","articleSection":["Blog","Tutorials","UX Design","UXPin"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/","url":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/","name":"Add Interaction to your Prototypes by Simulating Data-Sorting","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#primaryimage"},"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png","datePublished":"2017-04-24T15:00:55+00:00","dateModified":"2024-05-21T02:34:54+00:00","author":{"@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/6dd4adede4f1009af0b52cc6531d1d0f"},"description":"While UXPin won\u2019t sort data on your behalf, you can create a \u201csortable\u201d table, if you don\u2019t mind rearranging a few elements.","breadcrumb":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#primaryimage","url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png","contentUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/04\/Sortable-table-teaser.png","width":720,"height":200,"caption":"Sortable table teaser"},{"@type":"BreadcrumbList","@id":"https:\/\/www.uxpin.com\/studio\/blog\/make-sortable-table-rows-uxpin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.uxpin.com\/studio\/"},{"@type":"ListItem","position":2,"name":"Simulating Data-sorting in Prototypes Adds Interaction Where It\u2019s Needed"}]},{"@type":"WebSite","@id":"https:\/\/www.uxpin.com\/studio\/#website","url":"https:\/\/www.uxpin.com\/studio\/","name":"Studio by UXPin","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.uxpin.com\/studio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/6dd4adede4f1009af0b52cc6531d1d0f","name":"Ben Gremillion","description":"Ben Gremillion is a Content Strategist at UXPin. He\u2019s worked as both a web designer and a back-end developer. On the side he builds and maintains a CMS for webcomic artists, and participates in annual NaNoWriMo challenges.","sameAs":["https:\/\/www.uxpin.com","https:\/\/x.com\/benthinkin"],"url":"https:\/\/www.uxpin.com\/studio\/author\/bengremillion\/"}]}},"_links":{"self":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/comments?post=15468"}],"version-history":[{"count":1,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15468\/revisions"}],"predecessor-version":[{"id":53082,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15468\/revisions\/53082"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media\/15473"}],"wp:attachment":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media?parent=15468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/categories?post=15468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/tags?post=15468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}