我有一个数据网格,它有一个模板列,我有一个标签,其中包含绑定的数据。我已经准备好了一个公共方法,可以检查其中的某些内容,现在我想检查该行中的值是否为 0,如果它是 0,则将其设为空白。这是代码。
.aspx
<asp:datagrid id="dgData" runat="server" Width="658px" CellPadding="2" PageSize="2" DataKeyField="ItemDataID"
AutoGenerateColumns="False" ShowFooter="True" BorderColor="AliceBlue" OnItemDataBound="dgData_ItemDataBound">
<Columns>
<asp:TemplateColumn HeaderText="Term 1" ItemStyle-Wrap="True">
<ItemTemplate>
<asp:label BorderStyle=None Visible='<%# ReverseBool(Convert.ToBoolean(DataBinder.Eval(Container, "DataItem.IsCompleteOrNot"))) %>' runat="server" ID="edit_Score" Text='<%# DataBinder.Eval(Container, "DataItem.Score") %>'>
</asp:label>
<asp:label BorderStyle=None Text='<%# GetCompleteIncomplete(Convert.ToInt32(DataBinder.Eval(Container, "DataItem.Number"))) %>' Visible='<%# DataBinder.Eval(Container, "DataItem.IsCompleteOrNot") %>' id="txtIsComplete" runat="server">
</asp:label>
</ItemTemplate>
</asp:TemplateColumn>
c# GetCompleteIncomplete 方法
protected string GetCompleteIncomplete(int iNumber)
{
if (iScore == 0)
{
return "Incomplete";
}
return "Complete";
}
如何检查该数字的值是否为 0提前感谢最好的问候:)
您可以使用三元运算符以内联方式设置可见性。
<asp:Label ID="Label1" runat="server"
Visible='<%# Convert.ToInt32(DataBinder.Eval(Container, "DataItem.Number")) == 0 ? false : true %>' Text='<%# DataBinder.Eval(Container, "DataItem.Number") %>'></asp:Label>