{"id":10008101,"date":"2023-08-16T13:00:47","date_gmt":"2023-08-16T05:00:47","guid":{"rendered":"http:\/\/ityet.com\/?p=10008101"},"modified":"2023-08-16T13:00:47","modified_gmt":"2023-08-16T05:00:47","slug":"asp-net-core-%e4%bd%bf%e7%94%a8-devextreme20-%e5%b0%86int%e5%88%97%e8%bd%ac%e4%b8%bacheckbox","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10008101","title":{"rendered":"asp.net core \u4f7f\u7528 DevExtreme20 \u5c06int\u5217\u8f6c\u4e3acheckbox"},"content":{"rendered":"<p>\u540e\u7aef\u8bbe\u7f6e\u6269\u5c55\u65b9\u6cd5<\/p>\n<pre><code>public static DataGridColumnBuilder&lt;T&gt; SetNumCheckBox&lt;T&gt;(this DataGridColumnBuilder&lt;T&gt; builder)\n{\n    return builder.CellTemplate(new JS(&quot;CheckBoxCellTemplate&quot;))\n        .EditCellTemplate(new JS(&quot;CheckBoxEditorTemplate&quot;))\n        .Lookup(lookup =&gt; lookup.DataSource(new object[] {\n                new {\n                    label = &quot;\u662f&quot;,\n                    value = 1,\n                },\n                new {\n                    label = &quot;\u5426&quot;,\n                    value = 0,\n                },\n    }).DisplayExpr(&quot;label&quot;).ValueExpr(&quot;value&quot;));\n}<\/code><\/pre>\n<p>\u524d\u7aef\u6dfb\u52a0\u5355\u5143\u683c\u548c\u7f16\u8f91\u4ee3\u7801<\/p>\n<pre><code>const getNewDomId = (function () {\n  let id = 1;\n  return function () {\n    return id++;\n  };\n})();\n\nfunction CheckBoxEditorTemplate(el, e) {\n  var domId = 'grid_cell_' + getNewDomId();\n  el.html(`&lt;div id=&quot;${domId}&quot;&gt;&lt;\/div&gt;`);\n\n  new Vue({\n    el: '#' + domId,\n    template: `&lt;el-checkbox v-model=&quot;state&quot; v-on:change=&quot;onChange&quot; \/&gt;`,\n    data: {\n      state: e.value === 1,\n    },\n    methods: {\n      onChange(value) {\n        e.setValue(value ? 1 : 0);\n      },\n    },\n  });\n}\n\nfunction CheckBoxCellTemplate(container, options) {\n  container.html(\n    `&lt;div class=&quot;dx-checkbox-container ${\n      options.value === 1 ? 'dx-checkbox-checked' : ''\n    }&quot;&gt;&lt;span class=&quot;dx-checkbox-icon&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;`\n  );\n}<\/code><\/pre>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000044117972\">https:\/\/segmentfault.com\/a\/1190000044117972<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u540e\u7aef\u8bbe\u7f6e\u6269\u5c55\u65b9\u6cd5 public static DataGridColumnBuilder&lt;T&gt; S [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-10008101","post","type-post","status-publish","format-standard","hentry","category-share"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10008101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10008101"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10008101\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10008101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10008101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10008101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}