powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF DataGrid поле счетчик
105 сообщений из 105, показаны все 5 страниц
WPF DataGrid поле счетчик
    #39923689
Добрый вечер, уважаемые!

Подскажите пожалуйста, как можно сделать поле счетчик в DataGrid. Который бы тупо нумеровал записи, начиная с 1. При удалении записи - пересчитывался бы без образовавшейся "дырки". Я так полагаю нужно написать выражение в binding поля, но как его составить правильно для такого случая?

Благодарю.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39923696
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 22:22 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22075178][22075178]
>Подскажите пожалуйста, как можно сделать …
<Можно так - поместите информацию в List и привяжите List к DataGrid: dataGrid1.DataSource = list;
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39923707
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс элемента в DataGrid нужно вычислять по индексу контейнера, а не самого элемента

Модель представления, просто предоставляет список объектов Person:
Код: 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.
29.
30.
31.
32.
33.
34.
    public class BaseModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        protected void OnPropertyChanged(string propertyName) 
            => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
    public class Person : BaseModel
    {
        public string Name { set; get; }
        public int Age { set; get; }

    }
    public class MainModel : BaseModel
    {
        public MainModel()
        {
            _persones = new ObservableCollection<Person>();
            int count = 100;
            while(count-- > 0)
            {
                _persones.Add(new Person() { Name = $"Person #{count}", Age = 20 + count % 10 });
            }
            Persones = new ListCollectionView(_persones);
        }

        internal void RemovePerson(object currentItem)
        {
            _persones.Remove(currentItem);
        }

        private IList _persones;
        public ICollectionView Persones { set; get; } 
    }


Конвертер, в качестве параметров передается объект DataGrid и элемент списка Person (или другие NewPlaceHolder, для примера), определяется контейнер элемента (DataGridRow) и её индекс:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    public class RowNumberConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            DataGrid dataGrid = (DataGrid)values[0];
            object value = values[1];
            System.Windows.DependencyObject container = dataGrid.ItemContainerGenerator.ContainerFromItem(value);
            if (container == null) return string.Empty;
            return (dataGrid.ItemContainerGenerator.IndexFromContainer(container) + 1).ToString();
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            return new object[2];
        }
    }


Представление, в ресурсах переопределен шаблон заголовка строки DataGrid'а, можно это делать как угодно.
Тут есть 1 лайфхак, в мультибиндинге в конвертер передается ожидаемый объект списка и датагрид, но еще передается количество элементов в представлении коллекции, как только добавляется элемент или удаляется из коллекции он изменяется и это приводит к обновлению биндинга и обновлению значения, без этого работать нормально не будет.
Так же нужно выключить тип виртуализации Recycled и включить Standard, иначе так же работать будет криво.
Код: xml
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<Window x:Class="DataGridColumn.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:DataGridColumn"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.DataContext>
        <local:MainModel/>
    </Window.DataContext>
    <Window.Resources>
        <local:RowNumberConverter x:Key="RowNumberConverter"/>
        <Style TargetType="{x:Type DataGridRowHeader}">
            
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type DataGridRowHeader}">
                        <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"
                                Background="{TemplateBinding Background}" Margin="{TemplateBinding Margin}">
                            <TextBlock Margin="0,5" TextAlignment="Right">
                                <TextBlock.Text>
                                    <MultiBinding Converter="{StaticResource RowNumberConverter}" Mode="OneWay">
                                        <Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}"/>
                                        <Binding />
                                        <Binding Path="Items.Count" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}"/>
                                    </MultiBinding>
                                </TextBlock.Text>
                            </TextBlock>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <DataGrid x:Name="PART_DataGrid" ItemsSource="{Binding Persones}" AutoGenerateColumns="False"
                  VirtualizingPanel.VirtualizationMode="Standard">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
                <DataGridTextColumn Header="Age" Binding="{Binding Age}"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>


всякие проверки в код не включаю, так как делал на коленке
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924019
Roman Mejtes,

Мама дорогая. Это вот только нужно всего, чтобы тупо отображался порядковый номер строки? Жесть... Я лучше в хранимке в результатирующий набор добавлю поле, в котором циклом буду проставлять порядок.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924055
Roman Mejtes,

Нашел такое вот решение:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    public class NumerRow : IValueConverter
    {
        public object Convert(object value, Type TargetType, object parameter, CultureInfo culture)
        {
            var item = (DataGridRow)value;
            var datgrid = ItemsControl.ItemsControlFromItemContainer(item) as DataGrid;
            int index = datgrid.ItemContainerGenerator.IndexFromContainer(item) + 1;
            return index.ToString();
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }



WPF

Код: xml
1.
2.
3.
    <DataGridTextColumn Binding="{Binding Converter={StaticResource NumberRow}, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}}"
                    ClipboardContentBinding="{x:Null}"
                    Header="№"/>



Всё срабатывает, но почему нумерация сбивается, совершенно не понятно...
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924057
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что виртуализация и переиспользование контейнера.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924063
Shocker.Pro
Потому что виртуализация и переиспользование контейнера.


Круто конечно. Но прозвучало честно говоря, как заклинание. Можно немного подробнее и есть ли решение?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924102
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Можно немного подробнее
Неплохо бы начинать с учебника, а не с метода тыка. Особенно это касается WPF, ведь он непрост.
https://metanit.com/sharp/wpf/14.5.php

Евгений Стронг
есть ли решение?
я бы делал нумерацию строк на уровне модели, то бишь источника данных
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924112
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Shocker.Pro, вчера, 23:58 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22075858][22075858]
>я бы делал нумерацию строк на уровне модели, то бишь источника данных
<
так оно и есть,
но не понятен смысл нумерации, что она даёт, изменил сортировку - и поплыла нумерация
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924131
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
но не понятен смысл нумерации, что она даёт, изменил сортировку - и поплыла нумерация

Иногда полезно вникать в код, приведённый выше. У того решения, которое привёл Роман, нумерация при сортировке остаётся неизменной.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924168
Сон Веры Павловны
ВМоисеев
но не понятен смысл нумерации, что она даёт, изменил сортировку - и поплыла нумерация

Иногда полезно вникать в код, приведённый выше. У того решения, которое привёл Роман, нумерация при сортировке остаётся неизменной.


Я написал про то, что как сложно оно реализуется. Такой достаточно стандартный функционал, можно было и добавить как стандартную фичу в DataGrid. Вроде преимущества WPF, но в то же время по сравнению с вин контролами - достаточно напутано.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924169
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, сегодня, 04:22 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22075896][22075896]
>Иногда полезно вникать в код…
<
Согласен.
Но не менее полезно знать для чего это нужно.
Что нужно задавшему вопрос? Он хочет пронумеровать строки грида, или строки выборки? И что это дает?
Если строки грида, то при сортировке закрепление номера за строкой выборки изменится.
Если нумеруются строки выборки, то при сортировке нарушится последовательность номеров.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924171
ВМоисеев
>Сон Веры Павловны, сегодня, 04:22 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22075896][22075896]
>Иногда полезно вникать в код…
<
Согласен.
Но не менее полезно знать для чего это нужно.
Что нужно задавшему вопрос? Он хочет пронумеровать строки грида, или строки выборки? И что это дает?
Если строки грида, то при сортировке закрепление номера за строкой выборки изменится.
Если нумеруются строки выборки, то при сортировке нарушится последовательность номеров.


Да, мне хотелось просто нумерацию, сверху вниз, не зависимо от сортировки данных. И если сортировка выполнена по какому-то полю, то в любом нумерация снова сверху вниз от 1 до ...
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924176
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Стронг
Такой достаточно стандартный функционал, можно было и добавить как стандартную фичу в DataGrid.

Стандартный...?
Мне он не разу не понадобился.

Я, вообще, не понимаю, что такое номер строки при работе с БД?
В базе это почти ID (если не было удалений).

А если была неполная выборка или с сортировкой? Номер строки выборки? Тогда это должна делать Модель.

А если сортировку, фильтрацию делает ViewModel или View?

Какую полезную информацию, вообще, этот номер может нести в DataGrid?

Допустим, список покупок в корзине. Но список покупок это данные из БД. И номер покупки это часть этих данных хранящихся в БД. И View никоим образом не должна сама ставить эти номера. Она может только отсортировать по ним. А изменение номеров (при удалении, добавлении, пересоритровке) - это функция Модели.

Roman Mejtes , как всегда на высоте.
Решение мне его очень понравилось.
Всё корректно и ничего лишнего.

Евгений Стронг , но вот где вы его собираетесь применить...?
Только может, для редактирования матриц..?
Даже в голову не приходит вариант где может понадобиться в View ставить номера строк.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924178
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
можно было и добавить как стандартную фичу в DataGrid
Чтение учебника опять же помогло бы понять, что DataGrid сам по себе отображает представление - View. Поэтому добавить этот функционал к DataGrid-у как к таковому, не получится. Датагрид - это просто ItemsControl, который отображает коллекцию элементов с помощью своих контейнеров.

Евгений Стронг
по сравнению с вин контролами
не нужно сравнивать с винконтролами. Винконтролы - это прибитые гвоздями жесткие и конечные вещи. Контролы в WPF - это пластилин, из которых можно лепить что хочешь. Но нужно понимать, как они устроены.

В одном из учебников был простейший пример, как сделать вот такое представление для карточной игры (см. картинку). Это обычный ListBox. Можно ли сделать это с помощью винконтроловского листбокса?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924179
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eld Hasp
Мне он не разу не понадобился.
+1
я писал ERP с огромным количеством представлений данных в виде гридов. Ни разу не требовалась нумерация строк.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924201
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eld Hasp
Даже в голову не приходит вариант где может понадобиться в View ставить номера строк.

Я навскидку знаю один пример, где в гриде есть порядковые номера строк - в гриде результатов запроса SSMS. Но это очень специфический случай.

Евгений Стронг
Вроде преимущества WPF, но в то же время по сравнению с вин контролами - достаточно напутано.

А в чём, по-вашему, заключаются эти самые преимущества WPF? Зачем вы решили использовать именно его?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924209
Shocker.Pro
Eld Hasp
Мне он не разу не понадобился.
+1
я писал ERP с огромным количеством представлений данных в виде гридов. Ни разу не требовалась нумерация строк.


Ну вообще нумерация прекрасный способ увидеть номер вашей строки, на которую вы обратили внимания или хотите запомнить. Даже в MS Studio в результативном наборе тебе возвращаются номера строк. В редакторе кода можно (и нужно) его включать, так как ошибка указывает именно на строку с ошибкой и тд.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924210
Shocker.Pro
Евгений Стронг
можно было и добавить как стандартную фичу в DataGrid
Чтение учебника опять же помогло бы понять, что DataGrid сам по себе отображает представление - View. Поэтому добавить этот функционал к DataGrid-у как к таковому, не получится. Датагрид - это просто ItemsControl, который отображает коллекцию элементов с помощью своих контейнеров.

Евгений Стронг
по сравнению с вин контролами
не нужно сравнивать с винконтролами. Винконтролы - это прибитые гвоздями жесткие и конечные вещи. Контролы в WPF - это пластилин, из которых можно лепить что хочешь. Но нужно понимать, как они устроены.

В одном из учебников был простейший пример, как сделать вот такое представление для карточной игры (см. картинку). Это обычный ListBox. Можно ли сделать это с помощью винконтроловского листбокса?


О том и речь, что на WPF можно сделать всё, что угодно красивого, а вот добавить элементарный функционал, который на тех же контролах вообще по умолчанию включен - надо плясать с бубном несколько суток.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924211
Сон Веры Павловны
Eld Hasp
Даже в голову не приходит вариант где может понадобиться в View ставить номера строк.

Я навскидку знаю один пример, где в гриде есть порядковые номера строк - в гриде результатов запроса SSMS. Но это очень специфический случай.

Евгений Стронг
Вроде преимущества WPF, но в то же время по сравнению с вин контролами - достаточно напутано.

А в чём, по-вашему, заключаются эти самые преимущества WPF? Зачем вы решили использовать именно его?


Поддался на маркетинг от мелкософта. Якобы как круто, вы только посмотрите. Всё настраивается и всё очень гибко. Только вот забыли добавить, что это настолько гибко, что вы будете гуглить как сумасшедший не один день ещё, чтобы сделать элементарную настройку, которая на вин контролах делается с помощью настроек мышкой. Ну это ладно) Надо же идти в ногу со временем. Ну а если серьезно, то преимуществ то много на самом деле и то, что я описал выше - является одним из главных - современные технологии.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924220
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
В редакторе кода можно (и нужно) его включать, так как ошибка указывает именно на строку с ошибкой и тд.
Вот видишь, тебе зачем-то нужно. Я лично наоборот - принудительно выключаю нумерацию строк, потому что это лишняя информация, которая рябит в глазах и мешает работать с кодом и отнимает полезное место у экрана.
Перейти в большинстве программ на нужную строку (и студия - не исключение) - Ctrl+G, номер текущей строки всегда отображается в строке состояния, и этого совершенно достаточно, чтобы не мозолить себе глаза ненужным столбцом.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924221
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Поддался на маркетинг от мелкософта. Якобы как круто, вы только посмотрите. Всё настраивается и всё очень гибко. Только вот забыли добавить, что это настолько гибко, что вы будете гуглить как сумасшедший не один день ещё, чтобы сделать элементарную настройку, которая на вин контролах делается с помощью настроек мышкой. Ну это ладно) Надо же идти в ногу со временем. Ну а если серьезно, то преимуществ то много на самом деле и то, что я описал выше - является одним из главных - современные технологии.
Поэтому существует множество контролов, которые уже написаны, к которым добавлена та или иная функциональность.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924223
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 16:05 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076023][22076023]
>Ну вообще нумерация прекрасный способ увидеть номер вашей строки, на которую вы обратили внимания или хотите запомнить.
<
Не думаю.
Сортировка и фильтр Ваш прекрасный способ опускают ниже плинтуса.
Для работы хватает этого преобразования:
Код: c#
1.
2.
3.
//-- Получим индекс элемента коллекции
xrow = (row_Entity)dgv_Entity.SelectedItem;
iRow = oc_Entity.IndexOf(xrow);
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924224
Shocker.Pro
Евгений Стронг
В редакторе кода можно (и нужно) его включать, так как ошибка указывает именно на строку с ошибкой и тд.
Вот видишь, тебе зачем-то нужно. Я лично наоборот - принудительно выключаю нумерацию строк, потому что это лишняя информация, которая рябит в глазах и мешает работать с кодом и отнимает полезное место у экрана.
Перейти в большинстве программ на нужную строку (и студия - не исключение) - Ctrl+G, номер текущей строки всегда отображается в строке состояния, и этого совершенно достаточно, чтобы не мозолить себе глаза ненужным столбцом.


Не могу тут согласиться. Грид - это сетка данных. И у каждой ячейки должна быть координата. Прекрасный пример тому - Excel. Элементарная ситуация: Сотрудник выводит набор данных в гриде и подзывает коллегу, говоря ему, что не может найти ту или иную информацию в списке заказов. А тот ему в ответ: Ну вот ведь! На 23 строку посмотри. В противном случае ему пришлось бы тыкать пальцем или говорить - ниже, выше и тд. Нумерация - это идентификатор строки.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924227
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
не может найти ту или иную информацию в списке заказов
ВМоисеев
Сортировка и фильтр Ваш прекрасный способ опускают ниже плинтуса.

У меня несколько десятков человек работали со списком заказов. И за 20 лет ни у кого не возникло потребности, подобной твоей.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924228
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идентификация заказа происходит по номеру заказа, а не по сиюминутному номеру строки, которая у каждого будет своя, потому что у каждого будет разная сортировка фильтрация и время последнего обновления списка (за которое список мог измениться).

Так что неудачный пример.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924230
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 16:38 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076043][22076043]
>...На 23 строку посмотри…
<
Строка и так подсвечивается. «Не следует множить сущее без необходимости»
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924231
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Ну а если серьезно, то преимуществ то много на самом деле и то, что я описал выше - является одним из главных - современные технологии.

Современность технологии не является преимуществом сама по себе. И если WPF используется исключительно по подобной причине, то лучше это дело бросить, и использовать винформс, где это "делается с помощью настроек мышью".
И да, у WPF высокий порог вхождения. И таки придется много гуглить не один день. И что-то более-менее внятное начнёт получаться минимум через полгода интенсивной практики.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924232
ВМоисеев
>Евгений Стронг, сегодня, 16:38 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076043][22076043]
>...На 23 строку посмотри…
<
Строка и так подсвечивается. «Не следует множить сущее без необходимости»


Так ты на экране стоишь на 5 строке, а я вижу, что нужный номер заказа, который ты не видишь находится на 23 строке. Но это я мог бы сказать, если бы были пронумерованы строки. А так мне придется тыкать пальцем в монитор или называть другие данные.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924233
Shocker.Pro
Идентификация заказа происходит по номеру заказа, а не по сиюминутному номеру строки, которая у каждого будет своя, потому что у каждого будет разная сортировка фильтрация и время последнего обновления списка (за которое список мог измениться).

Так что неудачный пример.


Я же тебе написал про ситуацию, когда я подошел к твоему компу. И стою у тебя сзади за спиной.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924235
Shocker.Pro
Идентификация заказа происходит по номеру заказа, а не по сиюминутному номеру строки, которая у каждого будет своя, потому что у каждого будет разная сортировка фильтрация и время последнего обновления списка (за которое список мог измениться).

Так что неудачный пример.


И ты тоже не прочитал внимательно. Я стою у сотрудника за спиной. И смотрим мы в один монитор и видим, соответственно один набор данных. А номер заказа имеет формат: SG_TM_00093415

И я говорю тебе, ну вот заказ "3415" и ты глазами ищешь у себя его перед глазами в общем списке. Прекрасная программа и очень удобная. А если пользователи не жалуются, то это не значит, что им всё нравится, а просто они не знают, что можно по-другому.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924236
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crtl+F "3415" Enter

Евгений Стронг
Прекрасная программа и очень удобная
...если она подобное не умеет
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924237
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
А если пользователи не жалуются, то это не значит, что им всё нравится, а просто они не знают, что можно по-другому.
Мои пользователи были приучены. Они шли и говорили. И огромное количество функций было сделано именно по просьбе пользователей. Но конкретно это - никому не упиралось.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924238
Shocker.Pro
Crtl+F "3415" Enter

Евгений Стронг
Прекрасная программа и очень удобная
...если она подобное не умеет


Вот теперь представь этот же геморой, когда тебе надо отладить процедуру в 1000 строк, когда она у тебя упала на 384 и тебе об этом сообщила ошибка. И вместо того, чтобы перейти на нужную строку и разбираться, ты жмешь Ctrl+F и ищешь по названию, например параметра" и ищешь, где же примерно "твоя" кривая строка кода.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924239
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг

Вот теперь представь этот же геморой, когда тебе надо отладить процедуру в 1000 строк, когда она у тебя упала на 384 и тебе об этом сообщила ошибка. И вместо того, чтобы перейти на нужную строку и разбираться, ты жмешь Ctrl+F и ищешь по названию, например параметра" и ищешь, где же примерно "твоя" кривая строка кода.
Евгений Стронг
И ты тоже не прочитал внимательно
Shocker.Pro
Перейти в большинстве программ на нужную строку (и студия - не исключение) - Ctrl+G
я воспользуюсь Ctrl+G даже если нумерация строк включена. Потому что это быстрее.

А если ты говоришь про "процедуру", вероятно ты имеешь ввиду SSMS - так там вообще можно перейти на нужную строку двойным щелчком по ошибке (хоть это и неочевидно)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924241
Shocker.Pro
Евгений Стронг

Вот теперь представь этот же геморой, когда тебе надо отладить процедуру в 1000 строк, когда она у тебя упала на 384 и тебе об этом сообщила ошибка. И вместо того, чтобы перейти на нужную строку и разбираться, ты жмешь Ctrl+F и ищешь по названию, например параметра" и ищешь, где же примерно "твоя" кривая строка кода.
Евгений Стронг
И ты тоже не прочитал внимательно
Shocker.Pro
Перейти в большинстве программ на нужную строку (и студия - не исключение) - Ctrl+G
я воспользуюсь Ctrl+G даже если нумерация строк включена. Потому что это быстрее.

А если ты говоришь про "процедуру", вероятно ты имеешь ввиду SSMS - так там вообще можно перейти на нужную строку двойным щелчком по ошибке (хоть это и неочевидно)


Ну ты сейчас говоришь о том, как выйти из ситуации, когда нет нумерации строк. CTRL+F, CTRL+G и тд. С таким же успехом можно убрать и остальные контролы из приложения и использовать хот клавиши. И вернуться в dos вообще.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924244
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 17:13 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076052][22076052]
>Так ты на экране стоишь на 5 строке …
<
Хорошо. Посмотрите на этот код. Может и пригодиться.
Код: c#
1.
for (int i = 0; i < dgv_Entity.Items.Count; i++) ((row_Entity)dgv_Entity.Items[i]).n_Entity = i + 1;


Имейте ввиду грид допускает сортировку, фильтрацию и группировку.
И можете сами взять мышку и показать нужную строку.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924310
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Стронг
Не могу тут согласиться. Грид - это сетка данных. И у каждой ячейки должна быть координата. Прекрасный пример тому - Excel. Элементарная ситуация: Сотрудник выводит набор данных в гриде и подзывает коллегу, говоря ему, что не может найти ту или иную информацию в списке заказов. А тот ему в ответ: Ну вот ведь! На 23 строку посмотри. В противном случае ему пришлось бы тыкать пальцем или говорить - ниже, выше и тд. Нумерация - это идентификатор строки.

Начиная с этого поста и дальше, во всех описанных ситуациях - номер строки это часть данных. Он должен формироваться в Модели и храниться в БД или другом хранилище.
Ваша потребность формировать в View этот номер (по крайней мере в описанных вами ситуациях), возникла только из-за того, что вы плохо разделяете где данные, а где их представление.

Допустим, вы приводите пример редактирование текста (или кода) где есть номер строк.
Этот номер строки является неотъемлемой частью этой строки. Он никоим образом не может формироваться в View.
Если строки берутся из текстового файла, то это именно номер строки в файле.
И DataGrid (или иной контрол) будет только отображать этот номер, но ни как не формировать его.
Если меняется порядок строк, то он меняется в файле, то есть в данных. И менять будет его Модель или уровень даже ещё ниже.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924313
ВМоисеев
>Евгений Стронг, сегодня, 17:13 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076052][22076052]
>Так ты на экране стоишь на 5 строке …
<
Хорошо. Посмотрите на этот код. Может и пригодиться.
Код: c#
1.
for (int i = 0; i < dgv_Entity.Items.Count; i++) ((row_Entity)dgv_Entity.Items[i]).n_Entity = i + 1;


Имейте ввиду грид допускает сортировку, фильтрацию и группировку.
И можете сами взять мышку и показать нужную строку.


Спасибо.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924314
Eld Hasp
Евгений Стронг
Не могу тут согласиться. Грид - это сетка данных. И у каждой ячейки должна быть координата. Прекрасный пример тому - Excel. Элементарная ситуация: Сотрудник выводит набор данных в гриде и подзывает коллегу, говоря ему, что не может найти ту или иную информацию в списке заказов. А тот ему в ответ: Ну вот ведь! На 23 строку посмотри. В противном случае ему пришлось бы тыкать пальцем или говорить - ниже, выше и тд. Нумерация - это идентификатор строки.

Начиная с этого поста и дальше, во всех описанных ситуациях - номер строки это часть данных. Он должен формироваться в Модели и храниться в БД или другом хранилище.
Ваша потребность формировать в View этот номер (по крайней мере в описанных вами ситуациях), возникла только из-за того, что вы плохо разделяете где данные, а где их представление.

Допустим, вы приводите пример редактирование текста (или кода) где есть номер строк.
Этот номер строки является неотъемлемой частью этой строки. Он никоим образом не может формироваться в View.
Если строки берутся из текстового файла, то это именно номер строки в файле.
И DataGrid (или иной контрол) будет только отображать этот номер, но ни как не формировать его.
Если меняется порядок строк, то он меняется в файле, то есть в данных. И менять будет его Модель или уровень даже ещё ниже.


Да вот я делал в своем проекте нумерацию строк. На Delphi, если не ошибаюсь компонент DBGridEh. Одна галочка и строки нумеруются. Не зависимо от их сортировки и фильтрации. Первая строка = 1 и тд.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924315
Евгений Стронг,

И да, она никоем образом не занимает никакое полезное пространство. Ну только если пару пикселей на значения более 9.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924336
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Стронг
Да вот я делал в своем проекте нумерацию строк. На Delphi, если не ошибаюсь компонент DBGridEh. Одна галочка и строки нумеруются. Не зависимо от их сортировки и фильтрации. Первая строка = 1 и тд.

Я не знаю Delphi. Не знаю паттерны там используемые.

WPF - это инструмент специально созданный для реализации View в паттерне MVVM.
Без MVVM приложение WPF превращается в гору костылей разваливающуюся от любого чиха.
Поэтому в Решении WPF (в котором собственно WPF это только View) надо чётко понимать где данные, а где их представление.
WinForms относится к этому гораздо "лояльнее" (возможно Delphi тоже).
Поэтому на WF очень много кривых приложений созданных почти без применения ООП, используя приёмы процедурного программирования.

В случаях описанных вами, номер строки является свойством данных, а не свойством их представления.

Необходимость в View иметь номера строк никак не связанные с самими данными источниками этих строк - нулевая.
И возникает только из-за отсутствия понимания, что это часть данных.
И смысла навешивать ненужный функционал, только подталкивающий к неправильному использованию WPF, ни какого нет.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924340
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несмотря на то, что я выше сказал, что сделал бы нумерацию строк частью модели, как и ты, я бы всё-таки поспорил, что нумерация строк является частью данных.
ТС привел хороший пример - SSMS, данными является то, что пришло с сервера, нумерация строк - всего лишь вспомогательный инструмент, с сервера он не приходит и не привязан к конкретной записи БД.

Опять же в примерах использования, который приводит ТС, номер строки не является частью данных. Это именно представление такое. Хорошее сравнение будет - ось координат. Если данные графика, построенного в осях является 100% моделью, то сами оси - это часть представления. Нумерация строк - это ось координат.

Вопрос необходимости такой оси также оказался спорным, но мы сейчас не об этом.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924345
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 00:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076200][22076200]
>Да вот я делал в своем проекте нумерацию строк…
<
А что, неплохо.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924350
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eld Hasp
Я не знаю Delphi. Не знаю паттерны там используемые.

Примерно та же петрушка, что и у винформс. Самый популярный паттерн - magic pushbutton.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924356
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Несмотря на то, что я выше сказал, что сделал бы нумерацию строк частью модели, как и ты, я бы всё-таки поспорил, что нумерация строк является частью данных.
ТС привел хороший пример - SSMS, данными является то, что пришло с сервера, нумерация строк - всего лишь вспомогательный инструмент, с сервера он не приходит и не привязан к конкретной записи БД.

Опять же в примерах использования, который приводит ТС, номер строки не является частью данных. Это именно представление такое. Хорошее сравнение будет - ось координат. Если данные графика, построенного в осях является 100% моделью, то сами оси - это часть представления. Нумерация строк - это ось координат.

Вопрос необходимости такой оси также оказался спорным, но мы сейчас не об этом.


Может я и ошибаюсь, ели что поправьте.

Нумерация строк может содержится явно в БД (или другом хранилище).
Допустим, как я уже писал, список покупок в "Корзине".

Второй пример строки текста в текстовом файле. Явно номеров строк в таком случае нет. Но не явно, они есть - это именно номер строки в файле и ничто другое. Может ли в этом случает отличаться номера в DataGrid от номера строки в файле? Я не вижу таких сценариев.

Третий сценарий - " SSMS, данными является то, что пришло с сервера". А что в этом сценарии отличается от предыдущего? Разве номер строки, это не номер в этих данных? Может ли номер строки в данных отличаться от номера представления этой же строки в DataGrid? На мой взгляд, нет. Следовательно, этот номер являются частью пришедших данных, пусть явно в них и не обозначенной.

Четвёртый пример, от TC. Создание таблицы по типы листа Excel. Но и в таком случае номера строк и колонок - это тоже часть данных. Достаточно открыть VBA и посмотреть как представлен Лист чтобы в этом убелиться.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924357
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны
Eld Hasp
Я не знаю Delphi. Не знаю паттерны там используемые.

Примерно та же петрушка, что и у винформс. Самый популярный паттерн - magic pushbutton.
Не удивлён.
Сам на Delphi ничего не делал.
Но не раз сталкивался с теми кто пытается с Delphi перейти.... - знания на уровне Фортрана тридцатилетней давности.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924373
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

а реально пользователям вашего приложения нужна эта нумерация?
или просто потому, что в Дельфи одна галочка?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924380
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 14:42 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076292][22076292]
>а реально пользователям …
<
это нужная новая функция, это рюшечка.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924385
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 14:42 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076292][22076292]
>а реально пользователям …
<
это нужная новая функция, это рюшечка.

Именно рюшечка.

Когда пользователь "не может найти ту или иную информацию в списке заказов" и зовёт коллегу, то проблема совсем не в нумерации строк :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924387
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
то проблема совсем не в нумерации строк
не удалось убедить ТС в этой мысли )
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924431
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется, автор просто думает, что WPF типа должен быть супер простым и интуитивным, но цель этого фрейморка была не в этом.
за простотой стоит идти в FoxPro, Access и т.д.
Мощь WPF в его пластичности, полностью отделенном представлении от модели, в графическом движке с ускорением, в привязка и перечислять можно довольно долго. И при ближайшем рассмотрении оказывается, что всё это нефига не просто, и когда хотелки выходят за рамки поведения (именно поведения!) существующих элементов управления нужно ручками писать код, при этом хорошо понимая внутренний механизм работы этого самого WPF.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924442
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Евгений Стронг, сегодня, 00:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076200][22076200]
>Да вот я делал в своем проекте нумерацию строк …
<
Здесь решение Вашей задачи. Посмотри, может и сгодится.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924449
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>Евгений Стронг, сегодня, 00:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076200][22076200]
>Да вот я делал в своем проекте нумерацию строк …
<
Здесь решение Вашей задачи. Посмотри, может и сгодится.

есть подозрение, что он работать не будет :)
и кидать NotImplementedException в блоке Catch ))) упоротые индусы писали походу )
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924469
Roman Mejtes
мне кажется, автор просто думает, что WPF типа должен быть супер простым и интуитивным, но цель этого фрейморка была не в этом.
за простотой стоит идти в FoxPro, Access и т.д.
Мощь WPF в его пластичности, полностью отделенном представлении от модели, в графическом движке с ускорением, в привязка и перечислять можно довольно долго. И при ближайшем рассмотрении оказывается, что всё это нефига не просто, и когда хотелки выходят за рамки поведения (именно поведения!) существующих элементов управления нужно ручками писать код, при этом хорошо понимая внутренний механизм работы этого самого WPF.


Его мощь в сложном дизайне, который никому не нужен в приложениях. То, что на вин контролах ты сделаешь за 5 минут и перейдешь к главному - написанию логики приложения, то в WPF ты будешь неделю страдать. Самое удивительное, что чтобы сделать тот же функционал грида, который достаточно кинуть на форму, так ты ещё вынужден его самостоятельно написать. Кому эта гибкость нужна? Будто бы заказчики так и хотят круглых форм и закругленных формочек с выпадающими списками со встроенными чекбоксами и картинками.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924471
Eld Hasp
Сон Веры Павловны
пропущено...

Примерно та же петрушка, что и у винформс. Самый популярный паттерн - magic pushbutton.
Не удивлён.
Сам на Delphi ничего не делал.
Но не раз сталкивался с теми кто пытается с Delphi перейти.... - знания на уровне Фортрана тридцатилетней давности.


Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924489
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes
ВМоисеев
>Евгений Стронг, сегодня, 00:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076200][22076200]
>Да вот я делал в своем проекте нумерацию строк …
<
Здесь решение Вашей задачи. Посмотри, может и сгодится.

есть подозрение, что он работать не будет :)
и кидать NotImplementedException в блоке Catch ))) упоротые индусы писали походу )


Вроде должен работать.
Исключение возникает только если имя "DG1" присвоено не DataGrid.
И по смыслу, что для других типов элементов не реализовано - подходит.

Сомневаюсь, только, что при сортировке, удалении нумерация будет корректной.
Завтра проверю.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924490
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Стронг
Eld Hasp
пропущено...
Не удивлён.
Сам на Delphi ничего не делал.
Но не раз сталкивался с теми кто пытается с Delphi перейти.... - знания на уровне Фортрана тридцатилетней давности.


Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.


И что?
На Фортране тоже можно быстро написать прогу которую на других языках намного дольше делать.
Это что-то доказывает или опровергает?

Есть очень большая область задач для которых приложения проще и быстрее писать на Консоли, на WinForms, на Delphi и т.д.
Для многих просто не нужен ни WPF, ни C#, ни Net.
И что с этого?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924504
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг

Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.

И кто же эти садисты, которые заставляют Вас работать с C#? И не дают работать на дельфи и питоне? Не мучайте так себя, возвращайтесь к тому, что вам удобнее, и что больше нравится.
Евгений Стронг
тогда как я кину один компонент на форму

Прекрасно. Для чистоты экспенримента сделайте эту самую нумерацию строк в гриде, не зависящую от сортировки, в голом дельфи/винформс, без сторонних компонентов. Потому как вышеприведенное решение на WPF обходится исключительно стандартным функционалом.
А вышеупомянутый DBGridEh из EhLib, кстати, платный - у Вас куплена лицензия на него?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924523
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Eld Hasp
пропущено...
Не удивлён.
Сам на Delphi ничего не делал.
Но не раз сталкивался с теми кто пытается с Delphi перейти.... - знания на уровне Фортрана тридцатилетней давности.


Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.

Вы думаете никто тут не писал на Delphi и не знаком с Python? :)
К чему эти эмоции? Займитесь делом.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924535
Eld Hasp
Евгений Стронг
пропущено...


Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.


И что?
На Фортране тоже можно быстро написать прогу которую на других языках намного дольше делать.
Это что-то доказывает или опровергает?

Есть очень большая область задач для которых приложения проще и быстрее писать на Консоли, на WinForms, на Delphi и т.д.
Для многих просто не нужен ни WPF, ни C#, ни Net.
И что с этого?


Ничего. Просто высказался по поводу языка, который мелкософт активно навязывает и рассказывает всем, какой он классный и прекрасный.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924536
Сон Веры Павловны
Евгений Стронг

Ну вот не надо. То, что я на делфи закончу писать, вы будете на C# только на уровне WPF ковыряться. Создавать бесконечное множество классов и выделять под них память, тогда как я кину один компонент на форму. А если говорить о синтаксисе, то C# крайне многословен. Элементарные вещи делаются с большими усилиями и простынями кода. Я так и не понял, что в этом C# такого прекрасного, что его хвалят? Эти люди наверно не знают других языков. Откройте тот же Phyton. Понятное дело, что язык скриптовый и подход совершенно иной, но на сколько же он понятен, красив и краток.

И кто же эти садисты, которые заставляют Вас работать с C#? И не дают работать на дельфи и питоне? Не мучайте так себя, возвращайтесь к тому, что вам удобнее, и что больше нравится.
Евгений Стронг
тогда как я кину один компонент на форму

Прекрасно. Для чистоты экспенримента сделайте эту самую нумерацию строк в гриде, не зависящую от сортировки, в голом дельфи/винформс, без сторонних компонентов. Потому как вышеприведенное решение на WPF обходится исключительно стандартным функционалом.
А вышеупомянутый DBGridEh из EhLib, кстати, платный - у Вас куплена лицензия на него?


Данный функционал работает и был представлен в бесплатной версии. Мне вообще не понятна философия большинства программистов. Я так понимаю - это люди старой закалки. То есть Вы предлагаете мне не сесть на велосипед и поехать, а изначально его изобрести? А для чего эти сложности? К чему тогда идет информационный мир? Посмотрите на другие сервисы, как они построены. Уже даже сам код уходит на второй план. Будущее программирование - это исключительно закладывание логики приложения. Но уж точно не тратить половину времени на то, чтобы нормально разместить и отобразить "проклятую" кнопку.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924541
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Данный функционал работает и был представлен в бесплатной версии.

А если его бы вдруг там не оказалось, что бы делали?
Евгений Стронг
есть Вы предлагаете мне не сесть на велосипед и поехать, а изначально его изобрести? А для чего эти сложности?

Требуемая в данном топике функциональность - вовсе не велосипед, и для многих высказавшихся здесь необходимость её наличия вообще вызывает сомнения. И у Вас ровно два варианта: искать готовое решение (и не факт, что оно найдется - я такой функциональности не видел у того же девэкспресса, не видел у телерика, в стандартном винформсовом DGV её и подавно нет). Либо потрудиться немного изучить матчасть, и сделать наконец хоть что-то самому. Тем более, что готовое решение уже было выложено и разъяснено.
На все возможные хотелки готового существующего функционала не будет никогда.
Евгений Стронг
К чему тогда идет информационный мир? Посмотрите на другие сервисы, как они построены. Уже даже сам код уходит на второй план. Будущее программирование - это исключительно закладывание логики приложения.

Герман Оскарович, перелогиньтесь.
Евгений Стронг
Но уж точно не тратить половину времени на то, чтобы нормально разместить и отобразить "проклятую" кнопку.

А вот это уже передёргивание чистой воды. О кнопках и проблемах с ним в этом топике не было ни слова, и я сам с проблемами отображения стандартных кнопок не сталкивался никогда.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924545
Сон Веры Павловны
Евгений Стронг
Данный функционал работает и был представлен в бесплатной версии.

А если его бы вдруг там не оказалось, что бы делали?
Евгений Стронг
есть Вы предлагаете мне не сесть на велосипед и поехать, а изначально его изобрести? А для чего эти сложности?

Требуемая в данном топике функциональность - вовсе не велосипед, и для многих высказавшихся здесь необходимость её наличия вообще вызывает сомнения. И у Вас ровно два варианта: искать готовое решение (и не факт, что оно найдется - я такой функциональности не видел у того же девэкспресса, не видел у телерика, в стандартном винформсовом DGV её и подавно нет). Либо потрудиться немного изучить матчасть, и сделать наконец хоть что-то самому. Тем более, что готовое решение уже было выложено и разъяснено.
На все возможные хотелки готового существующего функционала не будет никогда.
Евгений Стронг
К чему тогда идет информационный мир? Посмотрите на другие сервисы, как они построены. Уже даже сам код уходит на второй план. Будущее программирование - это исключительно закладывание логики приложения.

Герман Оскарович, перелогиньтесь.
Евгений Стронг
Но уж точно не тратить половину времени на то, чтобы нормально разместить и отобразить "проклятую" кнопку.

А вот это уже передёргивание чистой воды. О кнопках и проблемах с ним в этом топике не было ни слова, и я сам с проблемами отображения стандартных кнопок не сталкивался никогда.


"я такой функциональности не видел у того же девэкспресса" - оно есть у всех. У дева, в том числе.

автор"и я сам с проблемами отображения стандартных кнопок не сталкивался никогда"
Я утрировал, конечно же. Но тем не менее, это в разы сложнее управляется, чем вин формы. И это не только моё мнение.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924570
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

в 2004-м году на моей первой работе, где я проработал год после института, решили мы переходить с Centura SQLWindows/32 на .NET WinForms 1.1
и был тогда только DataGrid, без нумераций, без различных типов колонок, без ничего
а работали мы на НК "ЮКОС", туева хуча операторов по всей России, которым нужно от грида много чего: фильтровать, перетаскивать колонки местами, иконочки всякие, отоброжающие состояние, суммы по строке и столбцу, выгружать в Excel, раскрашивать ячейки разными цветами, лукапы, выпадающие списки, попапы, выбор даты в ячейке...
до фига всего...

и не было тогда готовых компонентов, не только грида, но и других, и платных тоже тогда ещё не было (не успели понаписать к версии 1.1)
а в Centura были, и туева хуча людей к ним привыкла

и пришлось писать, причём в основном мне, потому как ведущие разработчики пилили логику
и написал, без лишних эмоций
да и эмоции тогда высказать было негде, так как не было такого обилия форумов, статей, телеграмм каналов, сообществ

а нумерацию строк так никто и не попросил, устраивало то, что в модели отдельным свойством был порядковый номер и он выводился отдельной колонкой

вообщем мне бы ваши проблемы :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924575
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Будущее программирование - это исключительно закладывание логики приложения.

Почему будущее?
Я давно уже по большей части только и занимаюсь, что исключительно закладываю логику.
Интерфейсом занимаются те, у кого это лучше получается.

Вы становитесь Senior Backend Developer-ом и забудете про все эти поля счётчики :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924584
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
"я такой функциональности не видел у того же девэкспресса" - оно есть у всех. У дева, в том числе.

На скриншоте изображен spreadsheet control, а не DataGrid. Это немного две большие разницы.
И да, вы готовы оплатить лицензию DevX исключительно из-за порядкового номера строки в гриде? (да и вообще оплатить эту лицензию?)

Евгений Стронг
Я утрировал, конечно же. Но тем не менее, это в разы сложнее управляется, чем вин формы. И это не только моё мнение.

И мне сново интересно - если это всё так сложно, зачем вы этим занимаетесь? Занимайтесь теми же винформс, и будет Вам счастье.

skyANA
Почему будущее?
Я давно уже по большей части только и занимаюсь, что исключительно закладываю логику.
Интерфейсом занимаются те, у кого это лучше получается.

Потому что в исключительную стадию это не перешло, и те, кто занимается интерфейсами, ими по-прежнему занимаются.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924596
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел написать развернутый ответ, но понял, что его уже на 3 страницах разжевывают и мои 5 копеек тут не нужны :) по этому, просто оставлю это здесь: Эффект Даннинга - Крюгера , может кому будет интересно почитать :D и сделать выводы
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924598
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 11:02 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076583][22076583]
>...Вы становитесь Senior Backend Developer-ом и забудете про все эти поля счётчики :)
<
Понимаю Вас, но думаю, что в этом вопросе, мы, оппоненты не правы.
Евгений поставил вопрос, и он как и все мы имеет на это право, и не важно для чего сиё ему нужно - важно найти решение.
И разобрать это решение. Думаю появится много интересных вопросов.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924601
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 11:02 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076583][22076583]
>...Вы становитесь Senior Backend Developer-ом и забудете про все эти поля счётчики :)
<
Понимаю Вас, но думаю, что в этом вопросе, мы, оппоненты не правы.
Евгений поставил вопрос, и он как и все мы имеет на это право, и не важно для чего сиё ему нужно - важно найти решение.
И разобрать это решение. Думаю появится много интересных вопросов.
решение на 1 странице и оно работает с учётом сортировки, если я меня порядок строк, порядок номеров не меняет, при изменении коллекции порядок не ломается и т.д. Так, в чём же проблема? явно не в том, что оппоненты не правы :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924605
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
skyANA
Почему будущее?
Я давно уже по большей части только и занимаюсь, что исключительно закладываю логику.
Интерфейсом занимаются те, у кого это лучше получается.

Потому что в исключительную стадию это не перешло, и те, кто занимается интерфейсами, ими по-прежнему занимаются.

Исключительная стадия? Это что вообще такое?
Я вот не представляю, чтобы удобные и эффективные интерфейсы начали сами себя проектировать и реализовывать :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924608
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 11:02 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076583][22076583]
>...Вы становитесь Senior Backend Developer-ом и забудете про все эти поля счётчики :)
<
Понимаю Вас, но думаю, что в этом вопросе, мы, оппоненты не правы.
Евгений поставил вопрос, и он как и все мы имеет на это право, и не важно для чего сиё ему нужно - важно найти решение.
И разобрать это решение. Думаю появится много интересных вопросов.

Судя по его постам, проблема не сколько в изначальном вопросе, а вообще в переходе на C#.
Что-то, или кто-то толкает его в эту сторону, из зоны привычного ему комфорта, а он сопротивляется :)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924612
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Исключительная стадия? Это что вообще такое?
Я вот не представляю, чтобы удобные и эффективные интерфейсы начали сами себя проектировать и реализовывать :)

Я тоже не особенно это себе представляю, но, тем не менее:
Евгений Стронг
Будущее программирование - это исключительно закладывание логики приложения.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924624
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
skyANA
Исключительная стадия? Это что вообще такое?
Я вот не представляю, чтобы удобные и эффективные интерфейсы начали сами себя проектировать и реализовывать :)

Я тоже не особенно это себе представляю, но, тем не менее:
Евгений Стронг
Будущее программирование - это исключительно закладывание логики приложения.

ИМХО следует читать, как видение Евгением своего будущего как программиста.
На что я ему и предложил стать Senior Backend Developer-ом.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924627
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Я тоже не особенно это себе представляю, но, тем не менее:
Евгений Стронг
Будущее программирование - это исключительно закладывание логики приложения.
Ага. Среды для программирования "мышкой" для домохозяек пытаются создавать не первый десяток лет. Что-то не очень получается.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924632
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Roman Mejtes, сегодня, 11:51 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076647][22076647]
>решение на 1 странице и оно работает …
<
Ой ли.
Покажите рабочую картинку Вашего грида и сравните с этим .
Как Вы включаете/отключаете нумерацию?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924636
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 12:00 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076662][22076662]
>Судя по его постам, проблема не сколько в изначальном вопросе…
<
Так это мы, оппоненты, подменили проблему, сменили тапочки на лету, так сказать и ушли от вопроса.
Евгений сказал конкретно - хочу нумеровать строки грида. Подскажите как это сделать. Точка.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924639
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Но напомню, что ТС на предложенное решение сказал - ой как сложно, в дельфи-то одной галочкой делается. Не акцентируя внимание на то, что в дельфи он использовал для этого сторонний компонент, а WPF захотел эту галочки из коробки.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924644
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 12:00 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076662][22076662]
>Судя по его постам, проблема не сколько в изначальном вопросе…
<
Так это мы, оппоненты, подменили проблему, сменили тапочки на лету, так сказать и ушли от вопроса.
Евгений сказал конкретно - хочу нумеровать строки грида. Подскажите как это сделать. Точка.

Ручками. Показать как код писать?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924670
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>Roman Mejtes, сегодня, 11:51 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076647][22076647]
>решение на 1 странице и оно работает …
<
Ой ли.
Покажите рабочую картинку Вашего грида и сравните с этим .
Как Вы включаете/отключаете нумерацию?

https://recordit.co/jvxsO0rui6
включение и отключение нумерации делается через стили, вы либо применяете стиль с нумерацией, либо без нумерации, делать это можно и в runtime без особых проблем
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924708
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Roman Mejtes, сегодня, 13:55 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076794][22076794]
>
<Спасибо. Убедительно. Код можно привести?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924741
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, не парься, по началу действительно WPF кажется жестью какой-то, потом за уши не оттянешь. Хотя, такого же уровня Web- приложения пилить намного проще- посмотри в эту сторону.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924743
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разворошили тут WPF-склеп аж на 4 страницы дискуссий.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924764
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 12:53 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076724][22076724]
>...Показать как код писать?
<
Зачем? Код надо представить. Здесь вариант.
Если бы заработал, было бы приемлемо.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
. . .
<Window.Resources>
    <local:NumerRow x:Key="NumerRow"/>
</Window.Resources>
. . .
//-- Получим индекс строки
//==========================
public class NumerRow : IValueConverter {
  public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
    try { DataGridRow row = value as DataGridRow; return row.GetIndex() + 1; }
    catch (Exception e) { throw new NotImplementedException(e.Message); }
  }
  public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
    throw new NotImplementedException();
  }
}
. . .
<DataGrid.RowHeaderStyle>
  <Style TargetType="{x:Type DataGridRowHeader}">
    <Setter Property="Content" Value="{Binding Converter={StaticResource IndexConverter}}" />
  </Style>
</DataGrid.RowHeaderStyle>
. . . 
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924828
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 12:53 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076724][22076724]
>...Показать как код писать?
<
Зачем? Код надо представить.
Мне заняться больше нечем? :)
У меня 26000 с лишним организаций и десятки миллионов пользователей, которые все что-то хотят.
А я тут никому не нужный код писать буду.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924836
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 18:12 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22077060][22077060]
>...А я тут никому не нужный код писать буду.
<
Судя по информации интернет, многим надо.
Да и решение оказалось достойным :
Код: c#
1.
2.
3.
private void dgv_Entity_LoadingRow(object sender, DataGridRowEventArgs e) {
  e.Row.Header = (e.Row.GetIndex()+ 1).ToString();
}
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924846
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Судя по информации интернет, многим надо.

Кому многим? Программистам?

Мне вод хочется отфильтровать список так, чтобы выводился только каждый десятый заказ за период.
Ну то есть наложить на поле счётчик условие по модулю 10.

Ваше решение позволяет хоть какие-то фильтры накладывать на это поле? Нет.
В топку ваше решение.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924877
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 18:34 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22077080][22077080]
>...В топку ваше решение.
<
1. Решение не моё - см. ссылку.
2. Нумерация находится в заголовках (header) строк.
3. То нумерация вам не нужна, то … условие по модулю 10.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924884
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>Roman Mejtes, сегодня, 13:55 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076794][22076794]
>
<Спасибо. Убедительно. Код можно привести?

на первой странице, за исключением внешнего оформления, которое я подогнал под то, что вы показали, "примерно"
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924931
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Roman Mejtes, сегодня, 19:14 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22077119][22077119]
>на первой странице, …
<
1. Показывал ТС.
2. Собственно программный код здесь .
3. Результат:
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924984
skyANA
Евгений Стронг
Будущее программирование - это исключительно закладывание логики приложения.

Почему будущее?
Я давно уже по большей части только и занимаюсь, что исключительно закладываю логику.
Интерфейсом занимаются те, у кого это лучше получается.

Вы становитесь Senior Backend Developer-ом и забудете про все эти поля счётчики :)


Придется становиться Senior Backend Developer-ом, чтобы не делать счетчик
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924985
Roman Mejtes
Хотел написать развернутый ответ, но понял, что его уже на 3 страницах разжевывают и мои 5 копеек тут не нужны :) по этому, просто оставлю это здесь: Эффект Даннинга - Крюгера , может кому будет интересно почитать :D и сделать выводы



С чего Вы взяли, что это от низкой квалификации? Вы совершенно правы, только в обратном направлении. Откройте ту же студию Mssql напишите запрос и посмотрите на грид. Если по Вашему мнению там сидят идиоты, то вопросов больше нет.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924986
ВМоисеев
>skyANA, сегодня, 12:00 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22076662][22076662]
>Судя по его постам, проблема не сколько в изначальном вопросе…
<
Так это мы, оппоненты, подменили проблему, сменили тапочки на лету, так сказать и ушли от вопроса.
Евгений сказал конкретно - хочу нумеровать строки грида. Подскажите как это сделать. Точка.


Совершенно верно, друг. Я хочу велосипед, чтобы на нем кататься, а меня переубеждают, что можно и пешком сходить. А ещё и велосипед изобрести с нуля, раз уж нужна колонка-счетчик.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924988
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Откройте ту же студию Mssql напишите запрос и посмотрите на грид. Если по Вашему мнению там сидят идиоты, то вопросов больше нет.
По моему мнению - да. Более убогого сраного говна, чем SSMS, среди продуктов микрософт для разработки я не видел, и не надо тут приводить его как пример хорошего интерфейса. ))

Это странно вообще-то, потому что та же Visual Studio - вполне приличный продукт, сделанный той же фирмой. Понятно, что разные команды, но не настолько же.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39924989
Shocker.Pro
ВМоисеев,

Но напомню, что ТС на предложенное решение сказал - ой как сложно, в дельфи-то одной галочкой делается. Не акцентируя внимание на то, что в дельфи он использовал для этого сторонний компонент, а WPF захотел эту галочки из коробки.


Ну конечно хотелось. Грид по умолчанию сортировать умеет по колонке, а пронумеровать строки нет. Я говорю с позиции - что если вводится какая-то технология, то она должна как минимум упрощать жизнь. Да, на WPF можно построить сложный интерфейс - достаточно просто. Но вот простой - достаточно сложно. Вот и весь WPF.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925002
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

на PyQT переходите, какие проблемы?
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925003
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Вот и весь WPF.

Так покажите нам наконец, как эта галочка нумерации строк в гриде просто делается на дельфи, или винформс, или питоне. Без сторонних компонентов, разумеется, исключительно средствами из коробки.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925088
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>Roman Mejtes, сегодня, 19:14 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1322025&msg=22077119][22077119]
>на первой странице, …
<
1. Показывал ТС.
2. Собственно программный код здесь .
3. Результат:
Можно всё это обернуть в Behavior или AttachedProperty и будет галочка, прямо как из коробки :D и там используется всё тот же код, что и в моём примере, ток из коробки. Так, что ваш вариант возможно даже лучше. Но у вас это какой то продакшн код. а у меня пример на 5 минут.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925133
skyANA
Евгений Стронг,

на PyQT переходите, какие проблемы?


Так и сделал :-)
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925139
Сон Веры Павловны
Евгений Стронг
Вот и весь WPF.

Так покажите нам наконец, как эта галочка нумерации строк в гриде просто делается на дельфи, или винформс, или питоне. Без сторонних компонентов, разумеется, исключительно средствами из коробки.


В моем проекте это с помощью стороннего компонента было реализовано, так как стандартный функционал достаточно скудный. Но его скудность тогда казалась, потому что не с чем было сравнить. Теперь есть. Ну а вы хотите сравнить реализацию на C# и других языках? Я могу с уверенностью сказать, что C# многословен по сравнению с теми, которые вы перечислили.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925177
Shocker.Pro
Евгений Стронг
не может найти ту или иную информацию в списке заказов
ВМоисеев
Сортировка и фильтр Ваш прекрасный способ опускают ниже плинтуса.

У меня несколько десятков человек работали со списком заказов. И за 20 лет ни у кого не возникло потребности, подобной твоей.


Что вы пристали к этому своему списку заказов? Вот вам скрин одной из WMS, которая функционирует в нашей одной из самых крупных компаний мира. Тут вообще идет как поле отдельное. Я же в своей программе скидывал, как свойство.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925181
Shocker.Pro
Евгений Стронг
Откройте ту же студию Mssql напишите запрос и посмотрите на грид. Если по Вашему мнению там сидят идиоты, то вопросов больше нет.
По моему мнению - да. Более убогого сраного говна, чем SSMS, среди продуктов микрософт для разработки я не видел, и не надо тут приводить его как пример хорошего интерфейса. ))

Это странно вообще-то, потому что та же Visual Studio - вполне приличный продукт, сделанный той же фирмой. Понятно, что разные команды, но не настолько же.


О чем вообще с вами разговаривать тогда, если вы считаете говном одного из монстров в разработке - ssms. Прекрасный продукт, который используется в 90% компании, деятельность которых связана с MSSQL. Теперь зато стало понятно, какой софт пишете вы. И почему у вас нет нумерации строк))
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925187
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Прекрасный продукт, который используется в 90% компании
за неимением хорошей бесплатной альтернативы.

Когда-то давно мы использовали EMS SQL Management Studio - она на голову выше SSMS в плане удобства использования, не знаю, как сейчас она поживает.
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925198
Shocker.Pro
Евгений Стронг
Прекрасный продукт, который используется в 90% компании
за неимением хорошей бесплатной альтернативы.

Когда-то давно мы использовали EMS SQL Management Studio - она на голову выше SSMS в плане удобства использования, не знаю, как сейчас она поживает.


Но и в нем есть - "CheckBox Show line numbers - отображать номера строк"
...
Рейтинг: 0 / 0
WPF DataGrid поле счетчик
    #39925392
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
skyANA
Евгений Стронг,

на PyQT переходите, какие проблемы?


Так и сделал :-)

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


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