我有一个带有自定义过滤器的Obout Grid,用于显示两个具有相似但略有不同字段的不同项目的信息。它们共享两列,另外两列切换可见性,具体取决于网格中显示的项目。自定义过滤器用于对具有开始日期和结束日期的几个列进行排序,另一个使用下拉列表进行排序。页面首次加载时,所有过滤器都正常工作,但当我单击导致回发的链接切换网格中的项目时,过滤器不再正常工作。文本过滤器仍然有效,但下拉列表不再有任何选项,并且Obout日期选择器不再填充显示所选日期的旁边的文本框。但是,如果您输入日期,它仍然可以正确排序,因此过滤器本身不会被破坏。
我已尝试使用和不使用UpdatePanel的网格,并在上下文切换时调用更新,但行为没有改变。
是否有任何理由认为下拉列表会丢失其选项或日期选择器会丢失与文本框的连接?
自定义日期过滤器:
<obout:GridTemplate ID="templateDateIssuedFilter" runat="server">
<Template>
<table>
<tr>
<td>
<asp:Literal ID="litDateIssuedFrom" runat="server" Text="From" />
</td>
<td>
<obout:OboutTextBox ID="txtDateIssuedFrom" runat="server" Width="180px">
<ClientSideEvents OnKeyUp="applyFilter" />
</obout:OboutTextBox>
<obout:Calendar runat="server" DatePickerMode="true" TextBoxId="txtDateIssuedFrom" OnClientDateChanged="applyFilter" DatePickerImagePath="OboutControls/Calendar/styles/date_picker1.gif" />
</td>
</tr>
<tr>
<td>
<asp:Literal ID="litDateIssuedTo" runat="server" Text="To" />
</td>
<td>
<obout:OboutTextBox ID="txtDateIssuedTo" runat="server" Width="180px">
<ClientSideEvents OnKeyUp="applyFilter" />
</obout:OboutTextBox>
<obout:Calendar runat="server" DatePickerMode="true" TextBoxId="txtDateIssuedTo" OnClientDateChanged="applyFilter" DatePickerImagePath="OboutControls/Calendar/styles/date_picker1.gif" />
</td>
</tr>
</table>
</Template>
</obout:GridTemplate>
答案 0 :(得分:0)
经过一番游戏,我发现日期选择器似乎与他们的文本框失去联系,只需要提醒。我无法找到发生这种情况的原因,但它确实发生在页面上的每个回发中。我添加了一些代码来查找日期选择器,并在每次回发后为所有这些选项重新分配TextBoxId属性。
对于下拉列表,我还必须在每次回发时重新添加所有选项。