带有时区问题的Syncfusion编辑网格

问题描述 投票:0回答:1

每当我内联编辑并保存下面的 Syncfusion EJ2 dot net core razor 页面代码时,时间就会被 5:30 时区偏移量所吸引,因为服务器发送 UTC 时间,而我的浏览器处于印度时间 (+5:30)。如何在网格中解决这个问题?

        <ejs-grid id="UserGrid" load="onLoad" height="500" actionComplete="actionComplete" allowSorting="true" actionBegin="actionBegin" allowPaging="true" actionFailure="onActionFailure" toolbar="toolbarItems" allowResizing="true" autoFit="true" allowTextWrap="true">
            <e-grid-editsettings allowEditing="true" mode="Normal"></e-grid-editsettings>
            <e-data-manager url="/church/member-dob?handler=DataSource" updateUrl="/church/member-dob?handler=Update" adaptor="UrlAdaptor"></e-data-manager>
            <e-grid-pagesettings pageSize="50"></e-grid-pagesettings>
            <e-grid-columns>
                <e-grid-column field="PersonId" width="10" visible="false" headerText="PersonId" isPrimaryKey="true"></e-grid-column>
                <e-grid-column field="PersonId2" allowEditing="false" width="100" headerText="PID"></e-grid-column>
                <e-grid-column field="FamId2" allowEditing="false" width="100" headerText="FID"></e-grid-column>
                <e-grid-column field="FamName" allowEditing="false" width="200" headerText="Family"></e-grid-column>
                <e-grid-column field="PersonDom" width="200" editType="datepickeredit" edit="@(new { @params = new { format = "dd/MM/yyyy" } })"  headerText="DOM(dd/MM/yyyy)"></e-grid-column>
                <e-grid-column field="PersonName" headerText="Person"></e-grid-column>
                <e-grid-column field="PersonEmail" headerText="Email"></e-grid-column>
                <e-grid-column field="PersonPh" headerText="Phone"></e-grid-column>
                <e-grid-column field="MemberUsername" headerText="username"></e-grid-column>
                <e-grid-column field="MemberPassword" headerText="password"></e-grid-column>
            </e-grid-columns>
        </ejs-grid>
.net-core grid syncfusion ej2-syncfusion
1个回答
0
投票

。默认情况下,在 EJ2 Grid 中,日期时间是根据用户设备的时区显示的。如果网格处理 UTC 格式的日期,那么我们已将此 UTC 时间转换为源中用户设备的时区,最终显示在网格中。

为了解决这个问题,我们建议您在应用程序的控制器中定义 Json 字符串日期格式,然后必须在 Grid 的加载事件中将 serverTimezoneOffset 设置为 0 以显示控制器中定义的 UTC 时间。请参阅下面的代码示例和示例以获取更多信息。

<ejs-grid id="Grid" allowPaging="true" load="onLoad" toolbar="@(new List<string>() {"Add", "Edit", "Update", "Delete" })">
    <e-data-manager url="/Home/UrlDataSource" adaptor="UrlAdaptor" insertUrl="/Home/Insert" updateUrl="/Home/Update" removeUrl="/Home/Remove"></e-data-manager>

    <e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Normal"></e-grid-editSettings>

    <e-grid-columns>
        .  .  .  .  .  .  .  . . .  .
        .  .  .  .  .  .  .  .  .  . .
        <e-grid-column field="OrderDate" headerText="Order Date" format="M/d/y hh:mm a" editType="datepickeredit" width="150"></e-grid-column>
      .  .  .  .  .  .  .  . . .  .
      .  .  .  .  .  .  .  .  .  . .
   </e-grid-columns>
</ejs-grid>
<script>
    function onLoad() { 
        ej.data.DataUtil.serverTimezoneOffset = 0;
    }
</script>
© www.soinside.com 2019 - 2024. All rights reserved.