2021年12月27日 星期一

在 Kendo的MVC Grid中建立唯讀column

 當我們建立Kendo 的MVC grid時會有以下代碼

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@(
Html.Kendo().Grid<KendoGridReadOnlyColumn.Models.TestModel>()
    .Name("Blog_Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.column1).Title("Column 1");
        columns.Bound(p => p.column2).Title("Column 2");
        columns.Bound(p => p.column3).Title("Column 3");
        columns.Bound(p => p.column4).Title("Column 4");
        columns.Bound(p => p.column5).Title("Column 5");
        columns.Bound(p => p.column6).Title("Column 6");
        columns.Bound(p => p.column7).Title("Column 7");

        columns.Command(command => { command.Edit(); command.Destroy(); });
    })
    .ToolBar(tools =>
    {
        tools.Create();
    })
    .Pageable(pageable => pageable
        .Refresh(true)
        .PageSizes(new[] { 10, 20, 40, 60, 100, 200, 300 })
        .ButtonCount(10)
    )
    .Sortable()
    .Filterable()
    .Resizable(resize => resize.Columns(true))
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .DataSource(datasource => datasource
                    .Ajax()
                    .PageSize(10)
                    .Model(model => model.Id(p => p.column1))
                    .Create(create => create.Action("Create", "Home"))
                    .Read(read => read.Action("Read", "Home"))
                    .Update(update => update.Action("Update", "Home"))
                    .Destroy(update => update.Action("Destroy", "Home"))
    )
)

方法1.
這時我們可以在.Sortable()下面加入一行.Events(events => events.Edit("edit"))

.Sortable()
.Events(events => events.Edit("edit"))


接下來再寫個function
<script type="text/javascript">
    function edit(e) {
        if (e.model.isNew() == false) {
            $("#column1").attr("readonly", true); //想要唯讀的欄位
        }
    }
</script>

大功告成
參考來源
http://www.adambumgardner.com/blog/2015/12/17/make-a-read-only-column-in-kendo-ui-grid-edit-mode
方法2.

.Model(model => model.Id(p => p.column1))
改成
model.Field(model => p.column1).Editable(false); 

2021年12月2日 星期四

kendo UI DatePicker language(語系)

在專案裡試了  kendoDatePicker ,很開心的使用了.後來發現.呃...沒有User 最愛的中文

如圖

其實是少了一個設定:

下面的js 記得要引用

 <script src="https://kendo.cdn.telerik.com/2019.2.514/js/cultures/kendo.culture.zh-TW.min.js">

</script>

    <input id="datepicker" />

    <script>

      $("#datepicker").kendoDatePicker({

        culture:"zh-TW",  <===== 加入這個設定

        value: new Date()

      });

    </script>

再次登場.中文出現








簽署時發生錯誤: 無法簽署 bin\Debug\app.publish\XXX.exe。SignTool Error: No certificates were found that met all the given criteria.

 這是一個程式碼簽署憑證的問題。當您的專案設定要進行程式碼簽署,但系統找不到合適的憑證時就會出現這個錯誤。以下是幾種解決方法: 方法 1:移除程式碼簽署設定 如果您不需要程式碼簽署,可以在專案中移除相關設定: 在 Visual Studio 中右鍵點擊專案 → 屬性 點擊「...