大家好,如何根据数据字段的值在绑定字段中显示不同的字符串?
例如,如果 datafield 的值为 1,它应该显示“Pending”。如果为 2,则“已删除”。
提前致谢。
大家好,如何根据数据字段的值在绑定字段中显示不同的字符串?
例如,如果 datafield 的值为 1,它应该显示“Pending”。如果为 2,则“已删除”。
提前致谢。
您可以使用服务器端功能来显示条件值。
看看这个样本:
<asp:TemplateField ItemStyle-CssClass="TemplateFieldOneColumn">
<ItemTemplate>
<asp:Label runat="server" Text='<% #GetLabelText(Eval("status")) %>' />
</ItemTemplate>
</asp:TemplateField>
这是在托管页面上声明的服务器端函数:
public string GetLabelText(object dataItem)
{
string text = "";
int? val = dataItem as int?;
switch (val)
{
case 1:
text = "Pending";
break;
case 2:
text = "Deleted";
break;
}
return text;
}
使用 TemplateField,而不是 BoundField。然后为 RowDataBound 向 GridView 添加一个事件。在调用的方法中,您将评估您的值(在下面的示例中存储在隐藏字段中)并输出适当的文本(在示例中为 Label)。
这是一些入门代码。
<ItemTemplate>
<asp:HiddenField ID="hdnStatus" runat="server" Value='<%# Bind("status") %>' />
<asp:Label ID="lblStatus" runat="server" />
</ItemTemplate>
使用它,并对使用 RowDataBound 事件进行一些研究。如果您遇到问题,请使用您编写的代码以及您遇到问题的方式更新您的问题。我很乐意提供更多帮助。
研究很重要,这对您在该领域建立技能非常有益。有人问很好,但有时你只能依靠自己。
对于布尔值,您可以这样做:
<asp:Label ID="Label1" runat="server" Text='<%# Boolean.Parse(Eval("Status").ToString()) ? "Yes" : "No" %>'></asp:Label>
你也可以为其他类型做。
希望这会帮助你。