我在 gridView 中排序列时遇到问题。我只想选择列中名称等于“完成”的那些行
我的 gridView 由一些 BoundField 和 TamplateFields 组成。当我想按正确的 BoundField 排序时,我将正确的字符串放入属性 FilterExpression 中。例如:
GridView 中的字段:<asp:BoundField DataField="identifier" HeaderText="Case number" SortExpression="identifier" />
所以我设置FilterExpression = "[identifier] LIKE '%" + txtCaseNumber.Text + "%'"
where 标识符是 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 组成。例如:失败、进行中、完成...在此控件内,我创建公共属性过滤器,我想分配字符串值,该值将选择正确的列并对它们进行排序。
Filter = "[???] = '" + ddlCaseStatus.SelectedValue + "'";
然后在 gridView 中使用它:
FilterExpression = ucCaseFilter.Filter;
我不知道如何获取列名称或其他可以让我按“状态”列排序的方法。
如果我不明白之前的答案并且它指的是正确的解决方案