DataGrid の ItemDataBound イベント中に入力される Repeater から内容を取得する 1 つの列を持つ DataGrid があります。Repeater の値に基づいて DataGrid 行を並べ替えることができる必要があります。DataGrid の短縮サンプルを次に示します。
<DataGrid id="dgResults" Runat="server" AllowSorting="true">
<Columns>
<asp:boundcolumn HeaderText="ID" datafield="group_id" Visible="False" />
<asp:BoundColumn HeaderText="Group" DataField="group_name" SortExpression="group_name" />
<asp:TemplateColumn SortExpression="meeting_start_time">
<HeaderTemplate>
<asp:LinkButton CommandName="Sort" Text="Time" CausesValidation="False" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:Repeater ID="Schedule_Repeater" runat="server">
<ItemTemplate>
<%# Eval("meeting_start_time", "{0:t}")%>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</DataGrid>
ご覧のとおり、3 番目の列には が含まれておりmeeting_start_time
、その値は Repeater を介して表示されます。
meeting_start_time
リピーターの値で "Time" 列を並べ替えるように DataGrid に指示するにはどうすればよいですか?