Bagikan melalui


DataGridComboBoxColumn Kelas

Definisi

DataGrid Mewakili kolom yang menghosting ComboBox kontrol dalam selnya.

public ref class DataGridComboBoxColumn : System::Windows::Controls::DataGridColumn
public class DataGridComboBoxColumn : System.Windows.Controls.DataGridColumn
type DataGridComboBoxColumn = class
    inherit DataGridColumn
Public Class DataGridComboBoxColumn
Inherits DataGridColumn
Warisan

Contoh

Contoh berikut menunjukkan cara mengisi daftar drop-down untuk masing-masing ComboBox di kolom dengan nilai enumerasi. Item yang dipilih dalam daftar drop-down terikat dengan mengatur SelectedItemBinding properti ke properti objek yang ditampilkan di setiap baris.

<NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:core="clr-namespace:System;assembly=mscorlib"
    xmlns:local="clr-namespace:DataGrid_CustomColumns"
    Title="Customers" Height="300" Width="300" ShowsNavigationUI="False"  >
    
<NavigationWindow.Resources>
    <!--Create list of enumeration values-->
    <ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type Type="local:OrderStatus"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
    <!--Create an instance of the converter for Email-->
    <local:EmailConverter x:Key="EmailConverter" />
</NavigationWindow.Resources>
<NavigationWindow.Content>  
    
<Grid>
    <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
        <DataGrid.Columns>
                <DataGridComboBoxColumn Header="Order Status"  SelectedItemBinding="{Binding Status}" ItemsSource="{Binding Source={StaticResource myEnum}}" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
    </NavigationWindow.Content>
</NavigationWindow>
public partial class Window1 : NavigationWindow
{
Class Window1
public Window1()
{
    InitializeComponent();

    //GetData() creates a collection of Customer data from a database
    ObservableCollection<Customer> custdata = GetData();
    
    //Bind the DataGrid to the customer data
    DG1.DataContext = custdata;
}
Public Sub New()
    ' This call is required by the Windows Form Designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.

    'GetData() creates a collection of Customer data from a database
    Dim custdata As ObservableCollection(Of Customer) = GetData()

    'Bind the DataGrid to the customer data
    DG1.DataContext = custdata

End Sub
//Defines the customer object
public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Uri Email { get; set; }
    public bool IsMember { get; set; }
    public OrderStatus Status { get; set; }
}
'Defines the customer object
Public Class Customer
    Public Property FirstName() As String
    Public Property LastName() As String
    Public Property Email() As Uri
    Public Property IsMember() As Boolean
    Public Property Status() As OrderStatus
End Class
public enum OrderStatus { None, New, Processing, Shipped, Received };
Public Enum OrderStatus
    None
    [New]
    Processing
    Shipped
    Received
End Enum

Keterangan

Gunakan DataGridComboBoxColumn untuk menampilkan data di mana ada sekumpulan item untuk dipilih, seperti enumerasi. DataGridComboBoxColumn memungkinkan pengguna untuk memilih item dari daftar drop-down. Ilustrasi berikut menunjukkan DataGridComboBoxColumn.

DataGridComboBoxColumn

Untuk mengisi daftar drop-down, pertama-tama atur ItemsSource properti untuk ComboBox dengan menggunakan salah satu opsi berikut:

ItemsSource Setelah diatur, ikat item yang dipilih di ComboBox item ke data untuk baris tempat sel berada. Anda bisa mengatur pengikatan dengan menggunakan salah satu properti berikut:

Properti Deskripsi
TextBinding Menyetel jalur pengikatan teks untuk item yang saat ini dipilih.
SelectedItemBinding Mengatur jalur pengikatan objek yang saat ini dipilih.
SelectedValueBinding Mengatur jalur pengikatan ke nilai item terpilih yang ditentukan oleh SelectedValuePath properti .

IsReadOnly Saat properti diatur ke true, pengguna tidak dapat mengedit kolom dan mereka tidak akan dapat melihat daftar drop-down.

Jika Anda ingin menampilkan jenis data lain, DataGrid berikan jenis kolom berikut:

Jenis Kolom Tampilan Data
DataGridHyperlinkColumn Gunakan untuk menampilkan data URI.
DataGridCheckBoxColumn Gunakan untuk menampilkan data Boolean.
DataGridTextColumn Gunakan untuk menampilkan teks.

Jika Anda ingin menggunakan kontrol lain di DataGrid, Anda dapat membuat jenis kolom Anda sendiri dengan menggunakan DataGridTemplateColumn.

Konstruktor

DataGridComboBoxColumn()

Menginisialisasi instans baru kelas DataGridComboBoxColumn.

Bidang

DisplayMemberPathProperty

DisplayMemberPath Mengidentifikasi properti dependensi.

EditingElementStyleProperty

EditingElementStyle Mengidentifikasi properti dependensi.

ElementStyleProperty

ElementStyle Mengidentifikasi properti dependensi.

ItemsSourceProperty

ItemsSource Mengidentifikasi properti dependensi.

SelectedValuePathProperty

SelectedValuePath Mengidentifikasi properti dependensi.

Properti

ActualWidth

Mendapatkan lebar kolom saat ini, dalam unit independen perangkat (1/96 inci per unit).

(Diperoleh dari DataGridColumn)
CanUserReorder

Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat mengubah posisi tampilan kolom dengan menyeret header kolom.

(Diperoleh dari DataGridColumn)
CanUserResize

Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat menyesuaikan lebar kolom dengan menggunakan mouse.

(Diperoleh dari DataGridColumn)
CanUserSort

Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat mengurutkan kolom dengan mengklik header kolom.

(Diperoleh dari DataGridColumn)
CellStyle

Mendapatkan atau mengatur gaya yang digunakan untuk merender sel dalam kolom.

(Diperoleh dari DataGridColumn)
ClipboardContentBinding

Mendapatkan atau mengatur objek pengikatan yang akan digunakan saat mendapatkan atau mengatur konten sel untuk clipboard.

DataGridOwner

DataGrid Mendapatkan kontrol yang berisi kolom ini.

(Diperoleh dari DataGridColumn)
DefaultEditingElementStyle

Mendapatkan nilai EditingElementStyle default properti .

DefaultElementStyle

Mendapatkan nilai default dari ElementStyle.

DependencyObjectType

Mendapatkan yang membungkus jenis CLR dari instans DependencyObjectType ini.

(Diperoleh dari DependencyObject)
Dispatcher

Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
DisplayIndex

Mendapatkan atau mengatur posisi tampilan kolom relatif terhadap kolom lain di DataGrid.

(Diperoleh dari DataGridColumn)
DisplayMemberPath

Mendapatkan atau mengatur jalur ke nilai pada objek sumber untuk memberikan representasi visual objek.

DragIndicatorStyle

Mendapatkan atau mengatur objek gaya untuk diterapkan ke header kolom selama operasi seret.

(Diperoleh dari DataGridColumn)
EditingElementStyle

Mendapatkan atau mengatur gaya yang digunakan saat merender elemen yang ditampilkan kolom untuk sel dalam mode pengeditan.

ElementStyle

Mendapatkan atau mengatur gaya yang digunakan saat merender elemen yang ditampilkan kolom untuk sel yang tidak dalam mode pengeditan.

Header

Mendapatkan atau mengatur konten header kolom.

(Diperoleh dari DataGridColumn)
HeaderStringFormat

Mendapatkan atau mengatur pola format untuk diterapkan ke konten header kolom.

(Diperoleh dari DataGridColumn)
HeaderStyle

Mendapatkan atau mengatur gaya yang digunakan saat merender header kolom.

(Diperoleh dari DataGridColumn)
HeaderTemplate

Mendapatkan atau mengatur templat yang menentukan representasi visual header kolom.

(Diperoleh dari DataGridColumn)
HeaderTemplateSelector

Mendapatkan atau mengatur objek yang memilih templat mana yang akan digunakan untuk header kolom.

(Diperoleh dari DataGridColumn)
IsAutoGenerated

Mendapatkan nilai yang menunjukkan apakah kolom dibuat secara otomatis.

(Diperoleh dari DataGridColumn)
IsFrozen

Mendapatkan nilai yang menunjukkan apakah kolom dicegah untuk menggulir secara horizontal.

(Diperoleh dari DataGridColumn)
IsReadOnly

Mendapatkan atau mengatur nilai yang menunjukkan apakah sel dalam kolom dapat diedit.

(Diperoleh dari DataGridColumn)
IsSealed

Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja).

(Diperoleh dari DependencyObject)
ItemsSource

Mendapatkan atau mengatur koleksi yang digunakan untuk menghasilkan konten kontrol kotak kombo.

MaxWidth

Mendapatkan atau mengatur batasan lebar maksimum kolom.

(Diperoleh dari DataGridColumn)
MinWidth

Mendapatkan atau mengatur batasan lebar minimum kolom.

(Diperoleh dari DataGridColumn)
SelectedItemBinding

Mendapatkan atau menyetel pengikatan untuk item yang saat ini dipilih.

SelectedValueBinding

Mendapatkan atau mengatur nilai item yang dipilih, yang diperoleh dengan menggunakan SelectedValuePath.

SelectedValuePath

Mendapatkan atau mengatur jalur yang digunakan untuk mendapatkan SelectedValue dari SelectedItem.

SortDirection

Mendapatkan atau mengatur arah pengurutan (naik atau turun) kolom.

(Diperoleh dari DataGridColumn)
SortMemberPath

Mendapatkan atau mengatur nama properti, atau hierarki nama properti yang dibatasi titik, yang menunjukkan anggota untuk mengurutkan.

(Diperoleh dari DataGridColumn)
TextBinding

Mendapatkan atau mengatur pengikatan untuk teks di bagian ComboBox kotak teks kontrol.

TextBlockComboBoxStyleKey

Mendapatkan kunci sumber daya untuk gaya yang akan diterapkan ke kotak kombo baca-saja.

Visibility

Mendapatkan atau mengatur visibilitas kolom.

(Diperoleh dari DataGridColumn)
Width

Mendapatkan atau mengatur lebar kolom atau mode ukuran otomatis.

(Diperoleh dari DataGridColumn)

Metode

CancelCellEdit(FrameworkElement, Object)

Menyebabkan sel kolom diedit kembali ke nilai yang ditentukan.

CancelCellEdit(FrameworkElement, Object)

Menyebabkan sel diedit untuk kembali ke nilai asli yang tidak diedit.

(Diperoleh dari DataGridColumn)
CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi.

(Diperoleh dari DependencyObject)
ClearValue(DependencyPropertyKey)

Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey.

(Diperoleh dari DependencyObject)
CoerceValue(DependencyProperty)

Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject.

(Diperoleh dari DependencyObject)
CommitCellEdit(FrameworkElement)

Melakukan validasi yang diperlukan sebelum keluar dari mode pengeditan.

CommitCellEdit(FrameworkElement)

Melakukan validasi yang diperlukan sebelum keluar dari mode pengeditan sel.

(Diperoleh dari DataGridColumn)
Equals(Object)

Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject.

(Diperoleh dari DependencyObject)
GenerateEditingElement(DataGridCell, Object)

Mendapatkan kontrol kotak kombo yang terikat ke nilai kolom SelectedItemBinding, , SelectedValueBindingdan TextBinding .

GenerateElement(DataGridCell, Object)

Mendapatkan kontrol kotak kombo baca-saja yang terikat ke nilai kolom SelectedItemBinding, SelectedValueBinding, dan TextBinding .

GetCellContent(DataGridRow)

Content Mengambil nilai properti untuk sel di persimpangan kolom ini dan baris yang ditentukan.

(Diperoleh dari DataGridColumn)
GetCellContent(Object)

Content Mendapatkan nilai properti untuk sel di persimpangan kolom ini dan baris yang mewakili item data yang ditentukan.

(Diperoleh dari DataGridColumn)
GetHashCode()

Mendapatkan kode hash untuk ini DependencyObject.

(Diperoleh dari DependencyObject)
GetLocalValueEnumerator()

Membuat enumerator khusus untuk menentukan properti dependensi mana yang memiliki nilai yang ditetapkan secara lokal pada ini DependencyObject.

(Diperoleh dari DependencyObject)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InvalidateProperty(DependencyProperty)

Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan.

(Diperoleh dari DependencyObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
NotifyPropertyChanged(String)

Memberi tahu DataGrid yang berisi kolom ini bahwa properti kolom telah berubah.

(Diperoleh dari DataGridColumn)
OnCoerceIsReadOnly(Boolean)

Menentukan nilai IsReadOnly properti berdasarkan aturan properti dari DataGrid yang berisi kolom ini.

OnCopyingCellClipboardContent(Object)

Memunculkan kejadian CopyingCellClipboardContent.

(Diperoleh dari DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

Memunculkan kejadian PastingCellClipboardContent.

(Diperoleh dari DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Dipanggil setiap kali nilai efektif dari properti dependensi apa pun pada ini DependencyObject telah diperbarui. Properti dependensi tertentu yang berubah dilaporkan dalam data peristiwa.

(Diperoleh dari DependencyObject)
OnSelectedItemBindingChanged(BindingBase, BindingBase)

Memberi tahu DataGrid kapan SelectedItemBinding properti berubah.

OnSelectedValueBindingChanged(BindingBase, BindingBase)

Memberi tahu DataGrid kapan SelectedValueBinding properti berubah.

OnTextBindingChanged(BindingBase, BindingBase)

Memberi tahu DataGrid kapan TextBinding properti berubah.

PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

Dipanggil saat sel dalam kolom memasuki mode pengeditan.

ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika ada.

(Diperoleh dari DependencyObject)
RefreshCellContent(FrameworkElement, String)

Merefresh konten sel dalam kolom sebagai respons terhadap perubahan pengikatan.

SetCurrentValue(DependencyProperty, Object)

Mengatur nilai properti dependensi tanpa mengubah sumber nilainya.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya.

(Diperoleh dari DependencyObject)
SetValue(DependencyPropertyKey, Object)

Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi.

(Diperoleh dari DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai untuk properti dependensi yang disediakan.

(Diperoleh dari DependencyObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)

Acara

CopyingCellClipboardContent

Terjadi setelah konten clipboard sel disiapkan.

(Diperoleh dari DataGridColumn)
PastingCellClipboardContent

Terjadi sebelum konten papan klip dipindahkan ke sel.

(Diperoleh dari DataGridColumn)

Berlaku untuk