Как сделать редактирование / добавление / удаление элементов из Datagrid - PullRequest
0 голосов
/ 24 февраля 2012

Как сделать редактирование / добавление / удаление элементов из Datagrid Я реализовал это с помощью таблицы данных

        DataTable _datatable = new DataTable();
        DataRow _datarow;

Я инициировал данные здесь, мне интересно спросить, как я могу изменить эти данные Как получить значения из сетки данных и взаимодействовать с ней , Список список = _datatable.AsEnumerable (). ToList ();

Я преобразовал его в список и получил оттуда данные? Это хорошая идея.

Я хочу иметь возможность обновлять, вставлять и удалять из.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Вы можете использовать простой список объектов.Затем создайте DataGrid и привяжите к нему DataRecordList.Внешний интерфейс должен выглядеть следующим образом:

<Window x:Class="TestDataGrid.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Data="clr-namespace:TestDataGrid"
    Title="MainWindow" Height="350" Width="525">
<Window.Resources>
    <ResourceDictionary>
        <Data:DataRecordList x:Key="DataSource"/>
        <CollectionViewSource x:Key="DataCollection" Source="{StaticResource DataSource}"/>
    </ResourceDictionary>
</Window.Resources>
<Grid>
    <DataGrid Name="GridData"
        ItemsSource="{Binding Source={StaticResource DataCollection}}"
        AutoGenerateColumns="False"
        CanUserDeleteRows="True" CanUserAddRows="True">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
            <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
            <DataGridTextColumn Header="SomeValue" Binding="{Binding Path=SomeValue}"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>
</Window>

и код, подобный следующему:

namespace TestDataGrid
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }

    public class DataRecord
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string SomeValue { get; set; }
    }

    public class DataRecordList : List<DataRecord>
    {
        public DataRecordList()
        {
            this.Add(new DataRecord() { ID = 1, Name = "Johnny", SomeValue = "Dummy" });
            this.Add(new DataRecord() { ID = 2, Name = "Grace", SomeValue = "Foo" });
            this.Add(new DataRecord() { ID = 3, Name = "Steve", SomeValue = "Bar" });
        }
    }
}

Вы можете добавлять строки, удалять строки и даже редактировать строки, а также сортировать и изменять порядок столбцов.Наслаждаться.JiKra

0 голосов
/ 24 февраля 2012

если вы не используете mvvm, вы можете просто установить itemsSource of the Datagrid в свою таблицу данных

 this.dgMyDataGridControl.ItemsSource= this._mydatatable;

и не забудьте установить свойства для вашей сетки данных в то, что вы хотите (CanUserAddRows, ...)

это, конечно, просто обновить, удалить и изменить данные в вашей базе данных, а не в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...