it-swarm.dev

كندو عمود تاريخ الشبكة لا التنسيق

لدي KendoGrid أدناه ، وعندما أقوم بتشغيل التطبيق ، لا أحصل على التنسيق المتوقع لعمود date.

$("#empGrid").kendoGrid({
    dataSource: {
        data: empModel.Value,
        pageSize: 10
    },

    columns: [
        {
            field: "Name",
            width: 90,
            title: "Name"
        },

        {
            field: "DOJ",
            width: 90,
            title: "DOJ",
            type: "date",
            format:"{0:MM-dd-yyyy}" 
        }
    ]
});

عندما أقوم بتشغيل هذا ، أتلقى "2013-07-02T00:00:00Z" في العمود DOJ. لماذا لا تنسيق؟ اي فكرة؟

66
jestges

لقد وجدت هذه المعلومات وحصلت عليها تعمل بشكل صحيح. كانت البيانات المقدمة لي بتنسيق السلسلة لذا كنت بحاجة إلى تحليل السلسلة باستخدام kendo.parseDate قبل تنسيقها بـ kendo.toString.

columns: [
    {
        field: "FirstName",
        title: "FIRST NAME"
    },
    {
        field: "LastName",
        title: "LAST NAME"
    },
    {
        field: "DateOfBirth",
        title: "DATE OF BIRTH",
        template: "#= kendo.toString(kendo.parseDate(DateOfBirth, 'yyyy-MM-dd'), 'MM/dd/yyyy') #"
    },
...

  1. تنسيق التاريخ في الشبكة
  2. jsfiddle
  3. تنسيق تاريخ kendo ui
113
aholtry

فقط بحاجة إلى وضع نوع البيانات للعمود في مصدر البيانات

dataSource: {
      data: empModel.Value,
      pageSize: 10,
      schema:  {
                model: {
                    fields: {
                        DOJ: { type: "date" }
                            }
                       }
               }  
           }

ثم عمود البيان الخاص بك:

 columns: [
    {
        field: "Name",
        width: 90,
        title: "Name"
    },

    {
        field: "DOJ",
        width: 90,
        title: "DOJ",
        type: "date",
        format:"{0:MM-dd-yyyy}" 
    }
]
40
miguelug

هذه هي الطريقة التي تقوم بها باستخدام ASP.NET:

add .Format("{0:dd/MM/yyyy HH:mm:ss}"); 

    @(Html.Kendo().Grid<AlphaStatic.Domain.ViewModels.AttributeHistoryViewModel>()
            .Name("grid")
            .Columns(columns =>
            {

                columns.Bound(c => c.AttributeName);
                columns.Bound(c => c.UpdatedDate).Format("{0:dd/MM/yyyy HH:mm:ss}");   
            })
            .HtmlAttributes(new { @class = ".big-grid" })
            .Resizable(x => x.Columns(true))
            .Sortable()
            .Filterable()    
            .DataSource(dataSource => dataSource
                .Ajax()
                .Batch(true)
                .ServerOperation(false)
                        .Model(model =>
                        {
                            model.Id(c => c.Id);
                        })       
               .Read(read => read.Action("Read_AttributeHistory", "Attribute",  new { attributeId = attributeId })))
            )
10
Clouds Viz

حاول تنسيق التاريخ في شبكة kendo على النحو التالي:

columns.Bound(x => x.LastUpdateDate).ClientTemplate("#= kendo.toString(LastUpdateDate, \"MM/dd/yyyy hh:mm tt\") #");
10
gurrawar

الخيار الذي أستخدمه هو كما يلي:

columns.Bound(p => p.OrderDate).Format("{0:d}").ClientTemplate("#=formatDate(OrderDate)#");

function formatDate(OrderDate) {
    var formatedOrderDate = kendo.format("{0:d}", OrderDate);

    return formatedOrderDate;
}
5
Paul Zahra

بقدر ما أعلم ، من أجل تنسيق قيمة تاريخ ، عليك التعامل معها في معلمة ،

$('#listDiv').kendoGrid({
            dataSource: {
                type: 'json',
                serverPaging: true,
                pageSize: 10,
                transport: {
                    read: {
                        url: '@Url.Action("_ListMy", "Placement")',
                        data: refreshGridParams,
                        type: 'POST'
                    },
                    parameterMap: function (options, operation) {
                        if (operation != "read") {
                            var d = new Date(options.StartDate);
                            options.StartDate = kendo.toString(new Date(d), "dd/MM/yyyy");
                            return options;
                        }
                        else { return options; }

                    }
                },
                schema: {
                    model: {
                        id: 'Id',
                        fields: {
                            Id: { type: 'number' },
                            StartDate: { type: 'date', format: 'dd/MM/yyyy' },
                            Area: { type: 'string' },
                            Length: { type: 'string' },
                            Display: { type: 'string' },
                            Status: { type: 'string' },
                            Edit: { type: 'string' }
                        }
                    },
                    data: "Data",
                    total: "Count"
                }
            },
            scrollable: false,
            columns:
                [
                    {
                        field: 'StartDate',
                        title: 'Start Date',
                        format: '{0:dd/MM/yyyy}',
                        width: 100
                    },

إذا اتبعت المثال أعلاه وقمت فقط بإعادة تسمية كائنات مثل "StartDate" ، يجب أن تعمل (تتجاهل "data: refreshGridParams، ')

لمزيد من التفاصيل ، تحقق من الرابط أدناه أو ابحث فقط عن kendo network parameterMap ans ، انظر ماذا فعل الآخرون.

http://docs.kendoui.com/api/framework/datasource#configuration-transport.parameterMap

3
Myzifer