【问题标题】:how can i correct wpf datagrid column name redundancy in visual studio 2012如何在 Visual Studio 2012 中更正 wpf datagrid 列名冗余
【发布时间】:2012-11-10 14:31:36
【问题描述】:
private void ViewWinLoaded(object sender, RoutedEventArgs e)
    {
        var stud = from s in data.Students
                             select s;
         Student[] st=stud.ToArray<Student>();
         datagrid.ItemsSource = st;

    }

以上是我的C#代码。

<DataGrid x:Name="datagrid" HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=StudentID}" ClipboardContentBinding="{x:Null}" Header="StudentID"/>
            <DataGridTextColumn Binding="{Binding Path=FirstName}" ClipboardContentBinding="{x:Null}" Header="First Name"/>
            <DataGridTextColumn Binding="{Binding Path=LastName}" ClipboardContentBinding="{x:Null}" Header="Last Name"/>
            <DataGridTextColumn Binding="{Binding Path=Gender}" ClipboardContentBinding="{x:Null}" Header="Gender"/>
            <DataGridTextColumn Binding="{Binding Path=GPA}" ClipboardContentBinding="{x:Null}" Header="GPA"/>
        </DataGrid.Columns>
  </DataGrid>

我想要实现的是使用我自己的列名,而不是 dB 中的列名。 但是当我运行代码时,它会同时显示我的自定义列和数据库中的列名(级联名称)

【问题讨论】:

  • 为什么stud.ToArray&lt;Student&gt;(); ItemSource 是 IEnumerable。

标签: c# sql wpf linq


【解决方案1】:

通过将 AutoGenerateColumns 属性设置为 false 来防止 DataGrid 生成列。

<DataGrid x:Name="datagrid" AutoGenerateColumns="False"
HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461">

【讨论】:

    【解决方案2】:

    实现此结果的另一种方法是,您可以将 Student 类属性 DisplayName 的每个公共属性设置为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      相关资源
      最近更新 更多