【问题标题】:Trying to bind syncfusion json data to realtime database in Firebase尝试将syncfusion json数据绑定到Firebase中的实时数据库
【发布时间】:2021-08-16 04:39:04
【问题描述】:

我正在尝试使用 Syncfusion (blazor) 中的调度程序工具。我正在绑定到实时 Firebase 中的远程数据。

如果我以正确的格式导入数据,如下所示 (ID=0),我可以在调度程序中看到它并且一切正常。如果我手动导入另一个 ID= 2,它将继续正常工作。

调度程序接口分配的随机 ID -MajbecDwqY04jsocuS2 扰乱了订单并停止工作。我将如何确保 id 编号递增 1 才能正常工作。

<div class="col-lg-12 control-section">
    <div class="schedule-wrapper">
        <SfSchedule TValue="ScheduleData.AppointmentData" Width="100%" Height="650px" @bind-SelectedDate="@CurrentDate" Readonly="false">
            <ScheduleEventSettings TValue="ScheduleData.AppointmentData">
                <SfDataManager Url="https://firebasekey.europe-west1.firebasedatabase.app/scheduler.json" Adaptor="@Syncfusion.Blazor.Adaptors.WebApiAdaptor"></SfDataManager>
            </ScheduleEventSettings>
        </SfSchedule>
    </div>
</div>


 public class AppointmentData
        {
            public int Id { get; set; }
            public string Subject { get; set; }
            public string Location { get; set; }
            public string Description { get; set; }
            public DateTime StartTime { get; set; }
            public DateTime EndTime { get; set; }
            public Nullable<bool> IsAllDay { get; set; }
            public string CategoryColor { get; set; }
            public string RecurrenceRule { get; set; }
            public Nullable<int> RecurrenceID { get; set; }
            public Nullable<int> FollowingID { get; set; }
            public string RecurrenceException { get; set; }
            public string StartTimezone { get; set; }
            public string EndTimezone { get; set; }
        }

【问题讨论】:

    标签: c# json firebase rest syncfusion


    【解决方案1】:

    您可以按 id 值排序并获取添加的最后一个元素并将其递增以将其用作下一个键。

    执行此操作的云函数的示例代码:

    
    const lastItemSnap = await firebase
      .database()
      .ref("scheduler")
      .orderByChild("id")
      .limitToLast(1)
      .once("value");
    
    const lastKey = lastItemSnap.key;
    
    //Increment key and use it for the next element
    const newKey = parseInt(lastKey) + 1;
    
    await firebase.database().ref(`scheduler/${newKey}`).set({ test: "your data" });
    
    
    

    确保按id 排序,因为键将作为字符串排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多