Я думаю, что проблема в том, что ваш SqlDataSource, который возвращает список сотрудников для отдела, не возвращает никаких строк, и я думаю, что это потому, что ControlParameter не прав.Несмотря на то, что вы сделали правильную вещь, указав его на Rotas GridView и свойство SelectedValue, в свойстве DataKeyNames используются три поля (DateFrom, DateTo, DepartmentId), и я полагаю, что в настоящий момент вы передаете значение DateFrom взапрос - следовательно, никаких результатов.Я думаю, что вам нужно использовать в PropertyName элемента ControlParameter вместо свойства SelectedValue Rotas - SelectedDataKey - здесь есть подробности о MSDN здесь , хотя демонстрационный код там не особенно полезен.Однако важная строка:
Если вы создаете объект ControlParameter и хотите получить доступ к ключевому полю, отличному от первого поля, используйте индексированное свойство SelectedDataKey в свойстве PropertyName объекта ControlParameter
Итак, я думаю, что вам нужно:
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:OnCallRotaConnectionString %>"
onselecting="SqlDataSource4_Selecting"
SelectCommand="SELECT [EmployeeName] FROM [Employee] where DepartmentId=@DepartmentId"
>
<SelectParameters>
<asp:ControlParameter ControlID="Rotas" Name="DepartmentId"
PropertyName="SelectedDataKey[2]" Type="Int16" />
</SelectParameters>
</asp:SqlDataSource>
Без копии ваших данных я не могу проверить это, но попробуйте и посмотрите, что вы получите...