【发布时间】:2011-07-12 14:35:25
【问题描述】:
我正在开发一个基于返回数据集中的表创建动态数据网格的应用程序。
所有表可能有不同的列,所以我根据行数创建动态数据网格并设置 AutoGenerateColumns = true;
这是我的 C# 代码:
for (int count = 0; count < ds.Tables.Count; count++)
{
DataGrid dg = new DataGrid();
dg.Name = ds.Tables[count].TableName.ToString();
dg.Margin = new Thickness(5);
dg.Width = 800;
dg.MaxHeight = 200;
dg.AutoGenerateColumns = true;
dg.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
dg.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
dg.ItemsSource = ds.Tables[count].DefaultView;
stkCollection.Children.Add(dg);
}
我想在每行都有一个按钮的每个动态数据网格中添加一个额外的列。
这是我的 XAML:
<GroupBox Header="Log Details">
<Border >
<Grid Background="{StaticResource NormalBackground}">
<Grid.ColumnDefinitions >
<ColumnDefinition Width="150" />
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10"/>
<RowDefinition Height="60"/>
<RowDefinition Height="10"/>
<RowDefinition Height="*" MaxHeight="600"/>
</Grid.RowDefinitions>
<Button Name="btnMessage" Content="Message" Grid.Row="1" Grid.Column="2" Width="120" Height="50" HorizontalAlignment="right" Click="btnMessage_Click"></Button>
<Button Name="btnDraw" Content="Draw" Grid.Row="1" Grid.Column="4" Width="120" Height="50" HorizontalAlignment="right" Click="btnDraw_Click"></Button>
<StackPanel x:Name="stkCollection" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="8" Orientation="Vertical"/>
</Grid>
</Border>
</GroupBox>
任何人都有任何想法。
我是怎么做到的?
提前致谢
【问题讨论】: