簡體   English   中英

VB.net WPF動態數據網格

[英]VB.net WPF Dynamic 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行,這是我需要的,但我也想:

  1. 在“參數”列中,將靜態文本添加到行中。 我想不通一種方法。

  2. 通過另一個表的SQL查詢將第二行添加到數據網格。 也無法弄清楚。

幫助最感激。

據我了解您的問題:您可以嘗試使用SQL站

選擇“靜態文本” AS ParamColumn,CC1,CC2 ...

因此,您可以像在其他列中一樣進行綁定。

對於您的第一點:sql =“ SELECT'您自己的靜態代碼'作為CCC0,CCC1,CCC2,CCC3,CCC4,CCC5,CCC6,CCC7,CCC8,CCC9,CCC10,CCC11,CCC12,CCC13,CCC14,CCC15,CCC16 ,CCC17,CCC18,CCC19,CCC20來自CablesT“和” WHERE(CableID =“&CableIDTextBox.Text&”)“ da =新的OleDbDataAdapter(sql,Con)

    ds.Tables.Clear() 'this is important to clear the table
    da.Fill(ds, "DisplaySpecificCable")
    WaterfallchartWindow.CableValuesDataGrid.ItemsSource = ds.Tables("DisplaySpecificCable").DefaultView

然后

    <DataGridTextColumn Header="Parameters"  Binding="{Binding CCC0}"></DataGridTextColumn>
            <DataGridTextColumn Header="1mm²" Binding="{Binding CCC1}"></DataGridTextColumn>

這就是我理解您的問題的方式。 希望它有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM