2017-01-23 4 views
0

Я использую Календарь Daypilot.DayPilot - Gridview не освежает

Проблема у меня есть, что всякий раз, когда есть изменение, например, EventResize или EventMove на каландр Gridview следует обновлять с последними значениями

Пример 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(); 
} 

Gridview1.DataBind () ударяется при изменении размера события, но фактически не обновляет данные в gridview. Мне нужно нажать F5, чтобы обновить страницу, чтобы она действительно повлияла на Gridview.

<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

Ваш gridview находится в некоторой панели? –

+0

Я пробовал это как внутри, так и без панели обновления, и результат тот же, он не обновляется, чтобы обновлять данные gridview. –

+0

Я фактически изменил EventResize на обратную передачу, и он сработал. Можно ли работать с Callback? –

ответ

0

Если свойство EventResizeHandling установлено значение «CallBack» или «Уведомить» использует механизм ASP.NET CallBack, чтобы запустить на стороне сервера событие. ASP.NET CallBack работает в упрощенном режиме - обработчик событий может изменять только сам компонент (DayPilotCalendar в этом случае).

Если вы хотите изменить другие элементы управления на странице, вам необходимо перейти на «PostBack» и поместить элементы управления в UpdatePanel.

Смежные вопросы