Что сделать чтобы после выборки из бд не пропадали знаки «_» при вносе данных в DataGrid?

После выборки данных из бд(MySql) в которой в столбцах имена выглядят примерно так - "rabs_iin", "rabs_firstname" и т.д из вставки этой выборки в DataGrid пропадает "_" из названия столбца.
Т.е делаем выборку в getAllRabs, возвращаем DataTable, и вставляет в свойство grid.ItemsSource данные из DataTable.DefaultView, и в названиях столбцов пропадают "_".
public class Rabs
    {
        public static int getAllRabs()
        {
DB db = new DB();
            MySqlConnection conn = db.connection;

            DataTable table = new DataTable();

            MySqlDataAdapter adapter = new MySqlDataAdapter();

            MySqlCommand command = new MySqlCommand();
            command.CommandText = "SELECT * FROM companies";
            command.Connection = conn;

            adapter.SelectCommand = command;
            adapter.Fill(table);

            return table;
         }
}
/**************************/
 DataTable rabs = Rabs.getAllRabs();
//grid - элемент DataGrid
 this.grid.ItemsSource = rabs.DefaultView;
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 1
Athari
@Athari
программист
Это засада с ContentPresenter.RecognizesAccessKey в колонках. Вам надо перекрыть шаблон:

<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
  <Setter Property="ContentTemplate">
    <Setter.Value>
      <DataTemplate>
        <TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center"/>
      </DataTemplate>
    </Setter.Value>
  </Setter>
</Style>


Ну или можно закостылить замену "_" на "__" в событии AutoGeneratingColumn.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы