【发布时间】:2011-12-01 10:39:06
【问题描述】:
我在 gridView 中对列进行排序时遇到问题。我只想选择列中名称相同的那些行,例如“Finished”
我的 gridView 由几个 BoundField 和 TamplateFields 组成。当我想按正确的 BoundField 进行排序时,我将正确的字符串放入属性 FilterExpression。例如:
GridView 中的字段:
<asp:BoundField DataField="identifier" HeaderText="Case number" SortExpression="identifier" />
所以我设置
FilterExpression = "[identifier] LIKE '%" + txtCaseNumber.Text + "%'"
identifier 是 BoundField 中的 DataField,在这种情况下一切正常。 但是,当我想从 TempateField 中的名称等于 Fininish 的列中选择正确的行时,我不知道该怎么做。 TemplateField 的示例如下所示:
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<asp:Label ID="lblStatus" runat="server" Text='<%# Utils.ConvertToProcessStatus((int)Eval("status"))%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
如果有人知道我该怎么做?
感谢您的帮助。
没关系,但我忘了提到我有自己的用户控制(ucCaseFilter),它由我从中选择状态的 DropDownList 组成。例如:Failed、InProgress、Finish ... 在这个控件中,我创建了公共属性 Filter,我想分配字符串值,该值将选择适当的列并对它们进行排序。
Filter = "[???] = '" + ddlCaseStatus.SelectedValue + "'";
然后在gridView中使用它:
FilterExpression = ucCaseFilter.Filter;
我不知道如何获取列名或其他可以让我按“状态”列排序的方法。
如果我不理解之前的回答,它指的是正确的解决方案
【问题讨论】:
标签: asp.net gridview sqldatasource