2017-01-23 6 views
0

Ich verwende Daypilot Kalender.DayPilot - Gridview nicht erfrischend

Das Problem, das ich habe ist, dass, wann immer gibt es eine Änderung, wie EventResize oder EventMove auf dem Kalender des Gridview mit den neuesten Werten

Beispiel EventResize

protected void DayPilotCalendar1_EventResize(object sender, EventResizeEventArgs e) 
{ 
    int id = e.Recurrent ? Convert.ToInt32(e.RecurrentMasterId) : Convert.ToInt32(e.Id); 
    new DataManager_MasterRota().MoveAssignment(id, e.NewStart, e.NewEnd, e.NewStart.DayOfWeek); 
    DayPilotCalendar1.DataSource = new DataManager_MasterRota().GetAssignmentsForLocation(DayPilotCalendar1); 
    DayPilotCalendar1.DataBind(); 
    DayPilotCalendar1.Update(); 


    GridView1.DataBind(); 
} 

Die Gridview1.DataBind aktualisieren soll () wird getroffen, wenn die Größe eines Ereignisses geändert wird, aber die Daten in der Gridview nicht aktualisiert werden. Ich muss F5 drücken, um die Seite zu aktualisieren, damit sie in der Gridview wirksam wird.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical" Width="94px" DataSourceID="SqlDataSource1"> 
     <AlternatingRowStyle BackColor="White" /> 
     <Columns> 
      <asp:BoundField DataField="PersonId" HeaderText="PersonId" SortExpression="PersonId" /> 
      <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" ReadOnly="True" /> 
      <asp:BoundField DataField="a" HeaderText="a" ReadOnly="True" SortExpression="a" /> 
     </Columns> 
     <FooterStyle BackColor="#CCCC99" /> 
     <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> 
     <RowStyle BackColor="#F7F7DE" /> 
     <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> 
     <SortedAscendingCellStyle BackColor="#FBFBF2" /> 
     <SortedAscendingHeaderStyle BackColor="#848384" /> 
     <SortedDescendingCellStyle BackColor="#EAEAD3" /> 
     <SortedDescendingHeaderStyle BackColor="#575357" /> 
    </asp:GridView> 
+0

Ihre Gridview ist in einem Panel? –

+0

Ich habe es sowohl innerhalb als auch ohne ein Update-Panel versucht und das Ergebnis ist das gleiche, es aktualisiert nicht aktualisieren, um die Gridview-Daten –

+0

Ich änderte tatsächlich die EventResize zu einem Postback und es funktionierte. Ist es möglich mit Callback zu arbeiten? –

Antwort

0

Wenn die EventResizeHandling Eigenschaft auf „Rückruf“ oder „Notify“ es verwendet ASP.NET Callback-Mechanismus das serverseitige Ereignis ausgelöst. Der ASP.NET CallBack läuft in einem vereinfachten Modus - der Event-Handler kann nur die Komponente selbst ändern (in diesem Fall DayPilotCalendar).

Wenn Sie andere Steuerelemente auf der Seite ändern möchten, müssen Sie zu "PostBack" wechseln und die Steuerelemente in ein UpdatePanel platzieren.