it-swarm.dev

Düzenlenebilir Liste Görünümü

Bir kullanıcının içeriğini değiştirmek için bir hücreye çift tıklayabildiği C # winforms uygulamasında düzenlenebilir bir ListView oluşturmak istiyorum. Birisi bana rehberlik edebilir ve/veya bir örnek verebilirse çok iyi olur. Herhangi bir ticari ürün kullanmak istemiyorum. 

18
THE DOCTOR

Yanlış soruyu soruyorsun :)

Bir ListView doğru kontrol değil. DataGridView kontrolünü kullanın. Sadece bir ListView gibi görünecek şekilde yapılandırılabilir, ancak hücrelerin yerinde düzenlenmesini destekler.

14
Simon Gillbee

Bir ObjectListView tam olarak bunu ve daha fazlasını yapacak. Normal bir .NET ListView etrafında bir sarıcı. Açık kaynak. 

Web sitesinde, başlamanıza yardımcı olacak bir Başlarken ve hücre düzenleme için ayrılmış bir sayfa bulunmaktadır.

6
Grammarian

Listview'ın DoubleClick olayını kullanabilirsiniz ve çağrıldığında, kullanıcının seçilen öğe için yeni bir değer gireceği yeni bir form açarsınız. Ardından kullanıcı ok düğmesine bastığında, kullanıcının girdiği öğenin değerini düzenlerdiniz.

1
A. Abiri

DataGridView senin arkadaşın SourceGrid alternatif

0
Pavels

Sütunun bir metin kutusu (düzenlenebilirse) veya bir metin bloğu (düzenlenebilir değilse) içerdiğini belirtmek için bir DataTemplate kullanabilirsiniz, ardından metin kutusunu liste görünümünüzün öğe kaynağına bağlı Kaynak Nesne Koleksiyonunuzdaki class özelliğine bağlar.

<Window.Resources>
    <ResourceDictionary>
        <DataTemplate x:Key="NameHeader">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Name" VerticalAlignment="Center" Margin="10,0,0,0" />
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="NameCell">
            <StackPanel Orientation="Horizontal">
                <TextBox Text="{Binding Path=Name}" VerticalAlignment="Center" Margin="10,0,0,0" />
            </StackPanel>
        </DataTemplate>
    </ResourceDictionary>
</Window.Resources>

<Grid>
    <ListView x:Name="lvwList" Height="200" VerticalAlignment="Top" ItemsSource="{Binding Path=SourceObjectCollection}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Name" HeaderTemplate="{StaticResource NameHeader}" CellTemplate="{StaticResource NameCell}" Width="140" />
            </GridView>
        </ListView.View>
    </ListView>
</Grid>

Nick Hanshaw

0
Nick Hanshaw

Evet, bir DataGridView kullanın. 

Yalnızca bir hücreyi düzenlemekle kalmaz, aynı zamanda T'nin ızgarada görüntülemek istediğiniz sınıfın olduğu genel bir Liste belirtirseniz, Veri Kaynağını = o listeyi ayarlayabilirsiniz ve ızgara görünümünü düzenlerken Listeyi otomatik olarak düzenlersiniz!

0
dcarl661

Seslerden, bunun yerine DataGridView'ı kullanmayı düşünebilirsiniz.

DataGridView (MSDN)

0
jblaske