This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

DataGrid.FrozenColumnCount الخاصية

Visual Studio 2010

الحصول على أو تعيينها رقم للأعمدة غير القابلة للتمرير.

مساحة الاسم:  System.Windows.Controls
التجميع:  PresentationFramework (في PresentationFramework.dll)
XMLNS لـ XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public int FrozenColumnCount { get; set; }
<object FrozenColumnCount="int" .../>

قيمة الخاصية

النوع: System.Int32
رقم للأعمدة غير القابلة للتمرير. المسجل الافتراضي هو 0. ل المزيد من المعلومات حول ما يمكن أن تؤثر على القيمة، راجع DependencyProperty.

أعمدة المجمدة هي أعمدة التي يتم دوماً عرض ولا يمكن تمريره خارج رؤية. أعمدة المجمدة تكون دائماً من أعمدة الموجودة في أقصى اليسار في ترتيب عرض. لا يمكنك يسحب أعمدة المجمدة في مجموعة أعمدة مجمد أو اسحب أعمدة مجمد في مجموعة أعمدة المجمدة.

إلى تجميد العمود، قم بتعيين FrozenColumnCountخاصية. أعمدة الموجودة في أقصى اليسار المحدد بواسطة FrozenColumnCountالرقم سوف تصبح مجمد. على سبيل المثال، إذا قمت بتعيين FrozenColumnCountإلى 2، يتم تجميد عمود واحد يسار في عرض. لتحديد ما إذا كان عمود هو مجمد بالفعل، تحقق من IsFrozenخاصية تشغيل DataGridColumn.

يظهر المثال التالي كيفية إنشاء عمود مجمد عند "تجميد عمود" هو محددة من ContextMenu. يتم نقل أعمدة يسار في ترتيب إلى ليتم تضمينه في أعمدة المجمدة.


<!--Defines the handlers for when the FreezeColumnCommand is executed-->
<Window.CommandBindings>
    <CommandBinding Command="{x:Static local:Window1.FreezeColumnCommand}" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
<!--Defines the context menu for the ColumnHeaders and attaches the FreezeColumnCommand-->
<Window.Resources>
    <ContextMenu x:Key="ColumnHeaderMenu" IsEnabled="True"  >
        <MenuItem Header="Freeze Column" IsEnabled="True" Command="{x:Static local:Window1.FreezeColumnCommand}"
                  CommandTarget="{Binding RelativeSource={RelativeSource AncestorType=Popup}, Path=PlacementTarget}" 
                  CommandParameter="{Binding ElementName=DG1, Path=CurrentColumn.DisplayIndex}" />
    </ContextMenu>
</Window.Resources>

<Grid>
    <!--Creates a new DataGrid with a context menu for the column headers-->
    <DataGrid Name="DG1" ItemsSource="{Binding}"  >
        <DataGrid.ColumnHeaderStyle >
            <Style TargetType="DataGridColumnHeader">
                <Setter Property="ContextMenu" Value="{StaticResource ColumnHeaderMenu}" />
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>
</Grid>



public partial class Window1 : Window
{

    public static RoutedUICommand FreezeColumnCommand = new RoutedUICommand();



    public Window1()
    {
        InitializeComponent();
        //GetData connects to the database and returns the data in a table.
        AdventureWorksLT2008DataSet.SalesOrderDetailDataTable dt = GetData();

        DG1.DataContext = dt;
    }


...


    private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
    {
       //Get the column header that started the command and move tMicrosoft.Windows.Controls.Primitives.hat column left to freeze it.
       System.Windows.Controls.Primitives.DataGridColumnHeader header = (System.Windows.Controls.Primitives.DataGridColumnHeader)e.OriginalSource;
       if (header.Column.IsFrozen ==true)
       {
           return;
       }
       else
       {
           header.Column.DisplayIndex = DG1.FrozenColumnCount;
           DG1.FrozenColumnCount++;
       }


    }

}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4

NET Framework. Client Profile

مدعوم في: 4
إظهار: