У меня есть подпрограмма, которая запрашивает базу данных access, а затем заполняет данные в datagrid.
Это то, что у меня есть в настоящее время:
sql = "SELECT CCC1, CCC2, CCC3, CCC4, CCC5, CCC6, CCC7, CCC8, CCC9, CCC10, CCC11, CCC12, CCC13, CCC14, CCC15, CCC16, CCC17, CCC18, CCC19, CCC20 FROM CablesT " &
"WHERE (CableID = " & CableIDTextBox.Text & ")"
da = New OleDbDataAdapter(sql, Con)
ds.Tables.Clear() 'this is important to clear the table
da.Fill(ds, "DisplaySpecificCable")
WaterfallchartWindow.CableValuesDataGrid.ItemsSource = ds.Tables("DisplaySpecificCable").DefaultView
Мой XAML выглядит следующим образом:
<DataGrid x_Name="CableValuesDataGrid" HorizontalAlignment="Left" Height="75" Margin="380,35,0,0" VerticalAlignment="Top" Width="1305" MinColumnWidth="20" CanUserReorderColumns="True" EnableColumnVirtualization="False" ColumnWidth="60" AlternatingRowBackground="Beige" VerticalGridLinesBrush="LightGray" HorizontalGridLinesBrush="LightGray" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Parameters"></DataGridTextColumn>
<DataGridTextColumn Header="1mm²" Binding="{Binding CCC1}"></DataGridTextColumn>
<DataGridTextColumn Header="1.5mm²" Binding="{Binding CCC2}"></DataGridTextColumn>
<DataGridTextColumn Header="2.5mm²" Binding="{Binding CCC3}"></DataGridTextColumn>
<DataGridTextColumn Header="4mm²" Binding="{Binding CCC4}"></DataGridTextColumn>
<DataGridTextColumn Header="6mm²" Binding="{Binding CCC5}"></DataGridTextColumn>
<DataGridTextColumn Header="10mm²" Binding="{Binding CCC6}"></DataGridTextColumn>
<DataGridTextColumn Header="16mm²" Binding="{Binding CCC7}"></DataGridTextColumn>
<DataGridTextColumn Header="25mm²" Binding="{Binding CCC8}"></DataGridTextColumn>
<DataGridTextColumn Header="35mm²" Binding="{Binding CCC9}"></DataGridTextColumn>
<DataGridTextColumn Header="50mm²" Binding="{Binding CCC10}"></DataGridTextColumn>
<DataGridTextColumn Header="70mm²" Binding="{Binding CCC11}"></DataGridTextColumn>
<DataGridTextColumn Header="95mm²" Binding="{Binding CCC12}"></DataGridTextColumn>
<DataGridTextColumn Header="120mm²" Binding="{Binding CCC13}"></DataGridTextColumn>
<DataGridTextColumn Header="150mm²" Binding="{Binding CCC14}"></DataGridTextColumn>
<DataGridTextColumn Header="185mm²" Binding="{Binding CCC15}"></DataGridTextColumn>
<DataGridTextColumn Header="240mm²" Binding="{Binding CCC16}"></DataGridTextColumn>
<DataGridTextColumn Header="300mm²" Binding="{Binding CCC17}"></DataGridTextColumn>
<DataGridTextColumn Header="400mm²" Binding="{Binding CCC18}"></DataGridTextColumn>
<DataGridTextColumn Header="500mm²" Binding="{Binding CCC19}"></DataGridTextColumn>
<DataGridTextColumn Header="630mm²" Binding="{Binding CCC20}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Это заполнит строку datagrid, начиная со 2-го столбца и далее, что мне нужно, но я также хотел бы:
В столбце» параметр » добавьте статический текст в строки. Я не мог придумать, как это сделать.
Добавьте вторую строку в datagrid с помощью SQL-запроса другой таблицы. Не мог понять и этого.
Помощь наиболее ценится.
Насколько я понял ваш вопрос : вы можете попробовать в своем SQL staement
Выберите «статический текст» в качестве ParamColumn, CC1, CC2 …
Таким образом, вы можете связать так же, как вы делаете в других столбцах.
Для вашего первого пункта :
sql = «выберите’ собственный статический код ‘ как CCC0, CCC1, CCC2, CCC3, CCC4, CCC5, CCC6, CCC7, CCC8, CCC9, CCC10, CCC11, CCC12, CCC13, CCC14, CCC15, CCC16, CCC17, CCC18, CCC19, CCC20 от CablesT » &
«Где (CableID =» & CableIDTextBox.Текст & «)»
da = новый OleDbDataAdapter (sql, Con)
затем
вот как я понял вашу проблему. Надеюсь, это послужит.