2013-04-08 18 views
0

我想用內部字符串空間空間,我用這個代碼:如何使用內部字符串

var lst = Article.Select(a => new {a.ID, Name = "  " + a.Name}).ToList(); 
gv.DataSource = lst.ToList(); 
gv.DataBind(); 

,但其沒有工作,與此代碼顯示名稱=「「名稱。

,並使用此代碼:

var lst = Article.Select(a => new {a.ID, Name = "     " + a.Name}).ToList(); 
gv.DataSource = lst.ToList(); 
gv.DataBind(); 

,並使用此代碼顯示名稱= 「         」 名稱。

請幫我

編輯:

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false"> 
<Columns> 
... 
<asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True" ItemStyle-Width="300px" ItemStyle-HorizontalAlign="Right"></asp:BoundField> 
... 
</asp:GridView> 

EDIT2:

答:

Link1

Link2

謝謝大家。

+0

THX。但它不起作用 – 2013-04-08 16:43:28

+0

我認爲這裏的問題是文本輸出到HTML不關心額外的空白。如果多個' '不工作,那麼您可能需要應用CSS邊距/填充。 – 2013-04-08 16:44:16

+0

什麼是gv?你可以控制它的填充? – 2013-04-08 16:44:47

回答

2

這項工作?

string constructor從一個字符構成的字符串repeat計數:

var lst = Article.Select(a => new {a.ID, Name = new string(' ', 8) + a.Name}) 
       .ToList(); 

UPDATE 1

組屬性,HtmlEncode=False

<asp:BoundField DataField="Name" HtmlEncode="False" /> 

和包圍<pre>標籤

var lst = Article.Select(a => new {a.ID, Name = "<pre>  </pre>" + a.Name}) 
       .ToList(); 
+1

'+ 1'更乾淨的例子:) – MethodMan 2013-04-08 16:47:34

+0

我把這個第一個綁定到gridview控件,但不工作。 – 2013-04-08 16:49:20

+0

看到我更新的答案。 – 2013-04-08 16:56:42

1

我假設gv是一個asp.net gridview控件,並且在瀏覽器中顯示所有空白符合並。

因此,嘗試這樣的事情

<asp:BoundField DataField="Name"> 
<ItemStyle CssClass="NameCol" /> 
</asp:BoundField> 

,並在你的CSS

..NameCol 
{ 
padding-left:50px; 
} 
+0

是的。 OP最終可能需要右對齊。 – 2013-04-08 17:00:54

+0

q&d選項可能是' – 2013-04-08 17:03:44

+0

thx。但它不適合我的工作 – 2013-04-08 17:05:26

0

試試這個樣本的方式

a.Name.ToString().PadLeft(10," ") 
  • 必須使用的ToString()

編輯試試這個

a.Name.PadLeft(10,' ') 
+0

我使用代碼,但錯誤:LINQ to Entities無法識別方法'System.String PadLeft(Int32,Char)'方法,並且此方法無法轉換爲存儲表達式。 – 2013-04-08 17:25:01

+0

查看我的編輯答案 – 2013-04-08 17:35:46

+0

FWIW如果你只是填充空格,真的沒有理由使用這種超載。 – 2013-04-08 17:37:21

相關問題