{"id":411,"date":"2011-11-05T12:20:26","date_gmt":"2011-11-05T12:20:26","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=411"},"modified":"2011-11-05T12:20:26","modified_gmt":"2011-11-05T12:20:26","slug":"dot-net-api-development-hints-adding-buttons-to-list-page","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/","title":{"rendered":"Dot Net API Development Hints \u2013 Adding buttons to List page"},"content":{"rendered":"<p>Sage CRM has made the component development through dot net very much easy by providing .Net API development kit. It provides standard code templates for developer to generate the custom pages on the fly. In order to create simple new data page, summary or list page, all we need to do is just inherit the respective inbuilt classes and the entire screen is ready with all the standard buttons.<br \/>\nThe standard entity template allows user to create entity pages like EntityDataPageNew, EntityDataPage, EntityDataPageEdit, EntityListPage, EntityDataPageDelete and EntitySearchPage. These pages serve basic idea of designing and organizing standard functionalities in .Net API.<br \/>\nBelow is the sample code snippet used in the EntityListPage<br \/>\n< snippet ><br \/>\nusing System;<br \/>\nusing System.Collections.Generic;<br \/>\nusing System.Text;<br \/>\nusing Sage.CRM.WebObject;<br \/>\nusing Sage.CRM.Wrapper;<br \/>\nusing Sage.CRM.Data;<br \/>\nusing Sage.CRM.Controls;<br \/>\nnamespace Test.DataPages<br \/>\n{<br \/>\n    public class DutyTypeMasterListPage : ListPage<br \/>\n    {<br \/>\n        public DutyTypeMasterListPage()<br \/>\n            : base(&#8220;Project&#8221;, &#8220;ProjectList&#8221;, &#8220;ProjectFilterBox&#8221;)<br \/>\n        {<br \/>\n            \/\/FilterByField = &#8220;&#8221;;<br \/>\n            \/\/FilterByContextId = (int)Sage.KeyList.UserId;<br \/>\n        }<br \/>\n        public override void BuildContents()<br \/>\n        {<br \/>\n            try<br \/>\n            {<br \/>\n                \/* Add your code here *\/<br \/>\n                base.BuildContents();<br \/>\n            }<br \/>\n            catch (Exception error)<br \/>\n            {<br \/>\n                this.AddError(error.Message);<br \/>\n            }<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n< \/snippet ><br \/>\nAbove code generates the screen with:<br \/>\n-The list of Projects (in the current context like Company if filtered by company context)<br \/>\n-Filter screen to filter the project grid<br \/>\n-New button to create new project record (If the user has rights to create project record)<br \/>\nNow suppose you want to add an extra button just below the \u201cNew\u201d button. This can be done by overriding inherited functions from base class as:<br \/>\n< Snippet ><br \/>\npublic override void AddNewButton()<br \/>\n{<br \/>\n  base.AddNewButton();<br \/>\n  AddUrlButton(&#8220;Test New&#8221;, &#8220;New.gif&#8221;, UrlDotNet(&#8220;Test.dll&#8221;, &#8220;RunProjectNew&#8221;));<br \/>\n}<br \/>\n< \/Snippet ><br \/>\n<strong>OR<\/strong><br \/>\n< Snippet ><br \/>\npublic override void BuildContents()<br \/>\n{<br \/>\n   base.BuildContents();<br \/>\n   AddUrlButton(&#8220;Test New&#8221;, &#8220;New.gif&#8221;, UrlDotNet(&#8220;Test.dll&#8221;, &#8220;RunProjectNew&#8221;));<br \/>\n}<br \/>\n< \/Snippet ><br \/>\nAs above, you can override other methods too, to mold and design the screen as per your requirement.<br \/>\n<marquee width=\"80%\"><b>If you find this content useful, please drop us an email at <a title=\"mailto:crm@greytrix.com\" href=\"mailto:crm@greytrix.com\">crm@greytrix.com<\/a>. <\/b><\/marquee><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sage CRM has made the component development through dot net very much easy by providing .Net API development kit. It provides standard code templates for developer to generate the custom pages on the fly. In order to create simple new data page, summary or list page, all we need to do is just inherit the\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46,125,332],"tags":[],"class_list":["post-411","post","type-post","status-publish","format-standard","hentry","category-button-sage-crm","category-dot-net","category-sage-crm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components<\/title>\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.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"Sage CRM has made the component development through dot net very much easy by providing .Net API development kit. It provides standard code templates for developer to generate the custom pages on the fly. In order to create simple new data page, summary or list page, all we need to do is just inherit the\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2011-11-05T12:20:26+00:00\" \/>\n<meta name=\"author\" content=\"greysagecrm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"greysagecrm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\",\"name\":\"Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"datePublished\":\"2011-11-05T12:20:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dot Net API Development Hints \u2013 Adding buttons to List page\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\",\"name\":\"Sage CRM \u2013 Tips, Tricks and Components\",\"description\":\"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\",\"name\":\"greysagecrm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"caption\":\"greysagecrm\"},\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components","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.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/","og_locale":"en_US","og_type":"article","og_title":"Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components","og_description":"Sage CRM has made the component development through dot net very much easy by providing .Net API development kit. It provides standard code templates for developer to generate the custom pages on the fly. In order to create simple new data page, summary or list page, all we need to do is just inherit the\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2011-11-05T12:20:26+00:00","author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/","name":"Dot Net API Development Hints \u2013 Adding buttons to List page - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"datePublished":"2011-11-05T12:20:26+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/11\/05\/dot-net-api-development-hints-adding-buttons-to-list-page\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"Dot Net API Development Hints \u2013 Adding buttons to List page"}]},{"@type":"WebSite","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/","name":"Sage CRM \u2013 Tips, Tricks and Components","description":"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f","name":"greysagecrm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","caption":"greysagecrm"},"url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":0,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}