2014-01-23 2 views
0

Я довольно новичок в базах данных и Linq для SQL, но я смог найти решения для большинства своих проблем через Интернет и различные книги, которыми владею. Тем не менее у меня проблема при заполнении моего datagrid, и я не могу найти кого-либо с той же проблемой или какой-либо проблемой для этой проблемы.Таинственные столбцы таблицы данных

Вот мой код для моего запроса и население моих текстовых и DataGrid:

Dim dbVehSearch As New VehicleDataClassesDataContext 

    Dim makeSearch = (From v In dbVehSearch.Vehicles Where v.VehicleId = CStr(txtVehID.Text)).SingleOrDefault() 
    Dim bolExists As Boolean = If(makeSearch Is Nothing, True, False) 

    If bolExists = False Then 
     'txtMake.Text = makeSearch.FirstOrDefault.ToString 
     txtMake.Text = makeSearch.Make 
     txtModel.Text = makeSearch.Model 
     txtModelYear.Text = makeSearch.ModelYear 
     txtEngine.Text = makeSearch.Engine 
     txtOilFilter.Text = makeSearch.OilFilter 
     txtQts.Text = makeSearch.QtsAmt 
     dgPastServices.ItemsSource = makeSearch.Services 

    Else 
     txtMake.Text = vbNullString 
     txtModel.Text = vbNullString 
     txtModelYear.Text = vbNullString 
     txtEngine.Text = vbNullString 
     txtOilFilter.Text = vbNullString 
     txtQts.Text = vbNullString 
     dgPastServices.ItemsSource = Nothing 
    End If 

Все работает, как я хочу, чтобы, когда DataGrid заполняется я получаю две ненужные столбцы в конце с именами, кроме две мои три таблицы в базе данных. Я не уверен, почему имена таблиц вставляются сюда или как их избавиться. Вот ссылка на то, как выглядит datagrid.

datagrid with extra columns of table names

Любая помощь будет принята с благодарностью.

«Счета-фактуры» и «Транспортное средство» - это дополнительные столбцы. Также в столбце «Транспортное средство» отображается код.

+0

У вас есть счета и транспортные средства, определенные в вашем классе услуг? –

+0

Единственными связями являются их отношения в базе данных. – jville

ответ

0

В xaml, когда вы определяете свой datagrid, определите столбцы, которые вы хотите увидеть в своей сетке. Убедитесь, что для свойства autogenerate columns установлено значение false.

<dg:DataGridTextColumn Header="Model" Binding="{Binding Path=Model}" /> 
+0

Когда я пытаюсь использовать этот метод, я получаю сообщение об ошибке «Коллекция предметов должна быть пуста перед использованием ItemsSource.», На dgPastServices.itemsSource = makeSearch.Services – jville

+0

Посмотрите на это: http://stackoverflow.com/questions/6882306/ datagridtemplatecolumn-items-collection-must-be-empty-before-use-itemssource –

+0

Абсолютно замечательно ... Большое вам спасибо за то, что указали мне на этот пример! Сейчас работает как шарм. Я забыл про простой код xaml. – jville

Смежные вопросы