Я думаю, вы не можете изменить запросы SQL, чтобы получить имена столбцов так, как вы хотите.Итак, давайте изменим DataGridView.
Если вы видите имена столбцов из DataTable как они есть в DataGridView как столбцы, то это потому, что он автоматически генерирует их.
Если вы хотите свой собственный заголовоктекст в столбцах, вы должны указать их самостоятельно.
1-й, вам нужно отключить автогенерацию столбцов.Для этого установите AutoGenerateColumns
в false
в DataGridView.
Затем вам нужно добавить столбцы вручную и указать значения DataField
в каждом столбце, равные реальному имени столбца из SQL Server и равные HeaderText
к желаемому отображаемому имени столбца.
Теперь, когда вы связываете DataTable
, он будет генерировать столбцы для соответствующих столбцов в DataGridView
в соответствии со значениями DataField
и HeaderText
.
Изучите пример здесь для примера разметки: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.columns.aspx
РЕДАКТИРОВАТЬ:
Вот пример разметки GridView, чтобы показать, как вы должны вручную настроить столбцы.
- Обратите внимание, что для
AutoGenerateColumns
установлено значение false
DataField
должно быть именем поля в базе данных.HeaderText
должен быть вашим текстом.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:BoundField DataField="FirstName" HeaderText="First Name" />
<asp:BoundField DataField="LastName" HeaderText="Last Name" />
<asp:BoundField DataField="DOB" HeaderText="Date Of Birth" />
</Columns>
</asp:GridView>