Hello everyone如何根据datafield的值在boundfield中显示不同的字符串?
例如,如果datafield的值为1,则应显示“Pending”。如果是2,“已删除”。
提前致谢。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
使用TemplateField,而不是BoundField。然后向GridView for RowDataBound添加一个事件。在调用的方法中,您将评估您的值(存储在下面示例中的隐藏字段中)并输出相应的文本(在示例中为Label)。
这里有一些初学者代码。
<ItemTemplate>
<asp:HiddenField ID="hdnStatus" runat="server" Value='<%# Bind("status") %>' />
<asp:Label ID="lblStatus" runat="server" />
</ItemTemplate>
使用它,并对使用RowDataBound事件进行一些研究。如果您遇到困难,请使用您编写的代码更新您的问题,以及您是如何陷入困境的。我很乐意帮助更多。
研究很重要,在这方面建立你的技能对你非常有益。有人要问,这很好,但有时候你只能依靠它。
答案 2 :(得分:0)
对于布尔值,你可以这样做:
<asp:Label ID="Label1" runat="server" Text='<%# Boolean.Parse(Eval("Status").ToString()) ? "Yes" : "No" %>'></asp:Label>
你也可以为其他类型做 希望这会对你有所帮助。