【发布时间】:2014-11-12 11:09:27
【问题描述】:
我试图在绑定时在网格视图项模板中显示固定长度的字符串(比如 10 位字符串),但我找不到字符串本身的任何格式说明符。
我可以获得 (Numbers{0:N}, Floats & Decimal (D), Currency{0:C}, , Date{1,8:yyyy}, Percentage {0,3:P1},Temperature: {0:F}, Exponential, Hexadecimal ... 但不是对于字符串本身)
我尝试了链接:Click here,但对我不起作用。
我的网格视图有一个模板字段(项目模板)
<asp:TemplateField HeaderText="Notes">
<ItemTemplate>
<asp:Label ID="Label_Note" runat="server" Text='<%# String.Format("{0}", Eval("Defect_Note").ToString()) %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
我需要在下面的网格中显示 'Notes Column',最多 10 位数字。如果 exeeds 它不应该显示(可以在工具提示上显示)如果小于 10 它可以显示其所有内容。
我想在 C# 中显示像 Printf(" %8s" ,&note) 这样的 Notes 列。(在 Binding 单行中)
【问题讨论】:
-
可能空间正在被修剪。
-
如果您想显示前 10 个字符而不是需要修剪或取前 10 个字符,string.format 不会为您截断它。
-
你说你需要固定长度的字符串:如果字符串是四个字符,是否需要填充到 10 个字符?从您使用它的上下文来看,我认为不是但想澄清一下。
-
您可以将
Defect_Note_Display属性添加到您的视图模型:public string Defect_Note_Display { get { return Defect_Note.Substring(0,10); } }或类似
标签: c# string format-specifiers