我看到另一個線程有點像我的問題在:格式電話號碼的GridView
ASP.NET GridView Column - formatting telephone number
,但我不知道這是否是因爲他是使用代碼隱藏,使科拉姆回答我的問題。我所做的只是在Visual Studio中插入GridView控件。順便說一句,數據正在填充在網格中,我只是試圖獲取格式設置。
我使用Microsoft Visual Studio 2010專業版(也SQL Management Studio中我的數據庫,但可能並不需要這種信息,只是想給予足夠的,以確保我在做什麼瞭解)
我在ASP.NET中使用Visual Basic.net代碼創建網站。
該網站基本上是一個聯繫人列表網站。
3文本框字段。名字,姓氏,主要電話號碼。
添加記錄按鈕(注意到從文本框和插入的信息到數據庫),顯示正被填充了信息的數據庫
的GridView
我有一個「主電話號碼」一欄這會拉出一個電話號碼在GridView中顯示。數量只有10個數字,沒有格式...(即999-999-9999)
我試圖讓GridView控件採取9999999999,使它(999)999-9999
如果我看DataFormatString我已經嘗試過許多「{0:(###)### - ####}」的組合,有和沒有引號,也有全零而不是磅符號。
通過我的研究,似乎如果我想使用DataFormatString,我需要在我的數據庫中使我的電話號碼爲int。所以我刪除了我的表,並將其從varchar重新創建爲int。點擊Gridview任務(GridView右上角的箭頭),然後點擊「編輯列」......然後在「選定的字段」下點擊DataFormatString,然後點擊列名...「主要電話號碼」然後在「CommandField屬性」下向下滾動到「DataFormatString」。
我希望我不是太詳細。我非常感謝所有的幫助。
我發現這一點:
http://www.tek-tips.com/viewthread.cfm?qid=328173
,但我不知道我怎麼會去使用它..看到如何,因爲我的代碼是由Visual Studio完成......一些看起來這樣
更新:我貼錯碼本來,無論哪種方式,根據關我說凱爾西是能夠提出我的答案是工作。
下面是我的新代碼與凱利給出的更正。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="EmpId" DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display." CellPadding="4"
ForeColor="#333333" GridLines="None" Height="136px" Width="299px"
AllowSorting="True">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="EmpId" HeaderText="EmpId" ReadOnly="True"
SortExpression="EmpId" Visible="False" />
<asp:BoundField DataField="FirstName" HeaderText="First Name"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="Last Name"
SortExpression="LastName" />
<%-- <asp:BoundField DataField="MainPhoneNumber" HeaderText="Main Phone Number"
SortExpression="MainPhoneNumber" />--%>
<asp:TemplateField HeaderText="Main Phone Number">
<ItemTemplate>
<asp:Literal ID="litPhone" runat="server" Text='<%# string.Format("{0:(###) ###-####}", Int64.Parse(Eval("MainPhoneNumber").ToString())) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<SortedAscendingCellStyle BackColor="#FDF5AC" />
<SortedAscendingHeaderStyle BackColor="#4D0000" />
<SortedDescendingCellStyle BackColor="#FCF6C0" />
<SortedDescendingHeaderStyle BackColor="#820000" />
</asp:GridView>
@ patco258您的'GridView'代碼在這裏最有幫助。 – Kelsey 2010-08-06 22:47:55
我用GridView代碼更新了這篇文章,並給出了更正。有用。 此外,在改變之前,而不是模板字段,它是那裏的界限,就像Kelsey在她的回答中一樣。 – Patrick 2010-08-10 16:57:08