powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как добавить вторую строку в DataGrid?
3 сообщений из 3, страница 1 из 1
Как добавить вторую строку в DataGrid?
    #39549979
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда в datagrid 1 строка, не могу добавить вторую, т.к. нет других строк, куда можно было бы увести фокус с добавляемой.

Когда более одной строки, напр., две (1 заполненная, другая пустая, приглашающая её заполнить), то для добавления третьей приходится фокус уводить в первую строку - в этот момент происходит сохранение второй и создание пустой третьей. Есть более удобные схемы работы?

В DataGridView, мне помнится, При попытке отредактировать любую ячейку в последней (пустой) строке тут же появлялась ещё одна, поэтому таких проблем не было.
...
Рейтинг: 0 / 0
Как добавить вторую строку в DataGrid?
    #39550012
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandЕсть более удобные схемы работы?
Для кого удобный? Для пользователя?
Для пользователя реализовать явный call to action в виде кнопки/ссылки/пункта меню "Добавить".
...
Рейтинг: 0 / 0
Как добавить вторую строку в DataGrid?
    #39550032
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandКогда в datagrid 1 строка, не могу добавить вторую, т.к. нет других строк, куда можно было бы увести фокус с добавляемой.

Когда более одной строки, напр., две (1 заполненная, другая пустая, приглашающая её заполнить), то для добавления третьей приходится фокус уводить в первую строку - в этот момент происходит сохранение второй и создание пустой третьей. Есть более удобные схемы работы?

В DataGridView, мне помнится, При попытке отредактировать любую ячейку в последней (пустой) строке тут же появлялась ещё одна, поэтому таких проблем не было.
Вообще-то стандартный WPF-ный датагрид вполне предоставляет пустую строку для ввода новых данных:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<Window x:Class="wpftest3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition />
      <RowDefinition />
    </Grid.RowDefinitions>
    <DataGrid
      ItemsSource="{Binding Data}" />
    <Button
      Grid.Row="1"
      VerticalAlignment="Center"
      HorizontalAlignment="Center"
      Padding="5"
      Content="Test"
      Click="ButtonClick" />
  </Grid>
</Window>


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using System;
using System.Collections.Generic;
using System.Linq;

namespace wpftest3
{
  public partial class MainWindow
  {
    public MainWindow()
    {
      InitializeComponent();
      Data = new List<Foo>{new Foo{Bar= "Zot"}};
      DataContext = this;
    }

    public List<Foo> Data { get;  }

    private void ButtonClick(object sender, System.Windows.RoutedEventArgs e)
    {
      Console.WriteLine(@"{0} {1}", Data.Count, Data.LastOrDefault()?.Bar);
    }
  }

  public class Foo
  {
    public string Bar { get; set; }
  }
}


В App.xaml никаких словарей не подключено, т.е. темплейт грида - дефолтный. Вот так это выглядит:
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как добавить вторую строку в DataGrid?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]