Я вижу другую ветку, похожую на мой вопрос:
Колонка ASP.NET GridView - форматирование номера телефона
но я не знаю, отвечает ли он на мой вопрос, так как он использует код для создания столбца. Все, что я сделал, это вставил элемент управления GridView в visual studio. Кстати, данные заполняются в Grid, я просто пытаюсь установить форматирование сейчас.
Я использую Microsoft Visual Studio Professional 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. Я попадаю в DataFormatString, нажимая на Задачи Gridview (стрелка в правом верхнем углу GridView) ... затем "Редактировать столбцы" ... затем в разделе "Выбранные поля" я нажимаю имя столбца ... "Основной номер телефона" затем в разделе «Свойства 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>