С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для Amadara
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322

WPF DataGrid как перейти к определенному элементу по ID

03.04.2018, 04:44. Показов 4801. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть DataGrid, таблица из 100 строк, как осуществить переход к определенной строке. передав ей фокус??

пробовал SelectedIndex и View.MoveCurrentToPosition, оно работает, но не переходит к нужной строке.
нет эффекта как прокрутить скролом и выделить нужную строку

C#
1
2
3
            int a = Convert.ToInt32((sender as ListBox).SelectedItem.ToString().Split()[0]) -1 ; 
            attachment_ADataGrid.SelectedIndex = a;
            CollectionViewSourceAttachmentA.View.MoveCurrentToPosition(a);

C#
1
2
3
4
5
6
7
8
9
10
11
        CollectionViewSource CollectionViewSourceAttachmentA;
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            TTR43.attachment_ADataSet attachment_ADataSet = ((TTR43.attachment_ADataSet)(this.FindResource("attachment_ADataSet")));
 
            // Загрузить данные в таблицу attachment_A. Можно изменить этот код как требуется.
            TTR43.attachment_ADataSetTableAdapters.attachment_ATableAdapter attachment_ADataSetattachment_ATableAdapter = new TTR43.attachment_ADataSetTableAdapters.attachment_ATableAdapter();
            attachment_ADataSetattachment_ATableAdapter.Fill(attachment_ADataSet.attachment_A);
            System.Windows.Data.CollectionViewSource attachment_AViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("attachment_AViewSource")));
            //attachment_AViewSource.View.MoveCurrentToFirst();
            CollectionViewSourceAttachmentA = attachment_AViewSource;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.04.2018, 04:44
Ответы с готовыми решениями:

Как применить стиль строки dataGrid к определенному dataGrid
Доброго всем времени суток! Спасибо, что уделили мне свое время! Есть стиль для строк датагрида: <Window.Resources> ...

Как присвоить class определенному элементу списка?
Доброе время суток! Помогите пожалуйста решить задачу. Есть простой список из n-го количества элементов <ul> ...

Как обратится к определенному элементу односвязного списка под номером n?
Подскажите пожалуйста как в односвязном списке обратится к определенному элементу под номером n. Список объявлен так: Type ...

21
Эксперт .NET
 Аватар для novikov.ea
1857 / 1363 / 429
Регистрация: 10.06.2011
Сообщений: 2,136
03.04.2018, 10:52
Лучший ответ Сообщение было отмечено Amadara как решение

Решение

ScrollIntoView
1
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
03.04.2018, 10:54
Лучший ответ Сообщение было отмечено Amadara как решение

Решение

Amadara, Попробуй так:
1. У тебя есть коллекция в VM IList<Entity> или какая-либо еще, которая привязана к ItemsSource твоего DataGrid. Entity - твоя сущность.
2. Также в этом же самом VM есть свойство Entity SelectedEntity, которая привязана к SelectedItem твоего DataGrid.
3. Изменяй значение этого свойства Entity SelectedEntity в VM на тот, который тебе нужен, и DataGrid получит новое значение выбранной строки
1
 Аватар для Amadara
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
03.04.2018, 16:02  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
Amadara, Попробуй так:
1. У тебя есть коллекция в VM IList<Entity> или какая-либо еще, которая привязана к ItemsSource твоего DataGrid. Entity - твоя сущность.
2. Также в этом же самом VM есть свойство Entity SelectedEntity, которая привязана к SelectedItem твоего DataGrid.
3. Изменяй значение этого свойства Entity SelectedEntity в VM на тот, который тебе нужен, и DataGrid получит новое значение выбранной строки
У меня DataGrid сформирован из LocalDB

XML
1
                            <DataGrid DockPanel.Dock="Right"  DataContext="{StaticResource attachment_AViewSource}" ItemsSource="{Binding Mode=OneWay}" VerticalAlignment="Top" x:Name="attachment_ADataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" RowDetailsVisibilityMode="VisibleWhenSelected" SelectionChanged="AttachmentADataGridSelectionChanged" MouseDoubleClick="Attachment_ADataGrid_MouseDoubleClick" >

за ним есть кодбихаинд

C#
1
2
3
4
5
6
7
8
9
10
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            TTR43.attachment_ADataSet attachment_ADataSet = ((TTR43.attachment_ADataSet)(this.FindResource("attachment_ADataSet")));
 
            // Загрузить данные в таблицу attachment_A. Можно изменить этот код как требуется.
            TTR43.attachment_ADataSetTableAdapters.attachment_ATableAdapter attachment_ADataSetattachment_ATableAdapter = new TTR43.attachment_ADataSetTableAdapters.attachment_ATableAdapter();
            attachment_ADataSetattachment_ATableAdapter.Fill(attachment_ADataSet.attachment_A);
            System.Windows.Data.CollectionViewSource attachment_AViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("attachment_AViewSource")));
            //attachment_AViewSource.View.MoveCurrentToFirst();
            CollectionViewSourceAttachmentA = attachment_AViewSource;
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
03.04.2018, 16:09
Amadara,
Цитата Сообщение от Amadara Посмотреть сообщение
У меня DataGrid сформирован из LocalDB
В этом есть смысл?

Тогда место SelectedEntity с привязкой на SelectedItem сделайте в VM SelectedIndex и подвяжите его на SelectedIndex в DataGrid. И не используйте code-behind. Если уж используете WPF, то делайте по правилам MVVM.
1
 Аватар для Amadara
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
03.04.2018, 19:32  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
Amadara,
В этом есть смысл?

Тогда место SelectedEntity с привязкой на SelectedItem сделайте в VM SelectedIndex и подвяжите его на SelectedIndex в DataGrid. И не используйте code-behind. Если уж используете WPF, то делайте по правилам MVVM.
Ну я так и сделал, но при SelectedItem нет визуального перехода к нужной строке, тут ScrollIntoView помог

Все говорят что для WPF лучше использовать MVVM.
Но почему?
WPF это технология на директиве, а ВинФорм завязана на winApi.

ВинФорм устарел, его использовать нет смысла
почему бы не использовать WPF с кодбинаинд???
для мелкого приложения нет смысла городить команды, делать привязки.
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
03.04.2018, 19:51
Amadara,
Цитата Сообщение от Amadara Посмотреть сообщение
ВинФорм устарел, его использовать нет смысла
Кто Вам такую чушь сказал? Ничуть не устарел.

Цитата Сообщение от Amadara Посмотреть сообщение
почему бы не использовать WPF с кодбинаинд???
Потому что WPF конкретно заточено под паттерн MVVM. Это сама Microsoft говорит(ссылку надо искать).

для мелкого приложения нет смысла городить команды, делать привязки.
Реализацию команд делать, это все равно что обработчик события написать(по нажатию клавиш на клавиатуре я имею ввиду), а привязки, привязки Вы и так используете.
1
 Аватар для Amadara
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
03.04.2018, 20:06  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
Amadara,
Кто Вам такую чушь сказал? Ничуть не устарел.


Потому что WPF конкретно заточено под паттерн MVVM. Это сама Microsoft говорит(ссылку надо искать).


Реализацию команд делать, это все равно что обработчик события написать(по нажатию клавиш на клавиатуре я имею ввиду), а привязки, привязки Вы и так используете.
Мэтью Мак-Дональд. WPF Windows Presentation Foundation в .NET 4.0 с примерами на C# 2010, 2011
Эволюция графики в WindowsТрудно оценить важность WPF, не принимая во внимание тот факт, что разработ*чики Windows-приложений в течение более 15 лет пользовались, по сути, одной и тойже технологией отображения. Стандартное Windows-приложение при создании поль*зовательского интерфейса полагается на две основополагающие части операционнойсистемы Windows:• User32 обеспечивает знакомый внешний вид и поведение таких элементов, какокна, кнопки, текстовые поля и т.п.;• GDI/GDI+ предоставляет поддержку рисования фигур, текста и изображений засчет дополнительного усложнения (и часто неважной производительности).С годами обе технологии совершенствовались, и API-интерфейсы, используемые раз*работчиками для взаимодействия с ними, значительно менялись. Но как бы ни разра*батывалось приложение — с помощью .NET и Windows Forms, (в прошлом) Visual Basic 6или кода C++ на основе MFC — “за кулисами” работают одни и те же части операцион*ной системы Windows. Новые платформы просто предоставляют улучшенные оболочкидля взаимодействия с User32 и GDI/GDI+. Они могут быть более эффективными, менеесложными, могут включать некоторые заранее подготовленные средства, чтобы не при*ходилось создавать их самостоятельно, однако они не могут преодолеть фундаменталь*ные ограничения системных компонентов, разработанных более 10 лет назад.
Если у меня есть 2 технологии WinForm, WPF, то при написании одинаковых приложений с Win98 графикой, я не получу потерь в производительности? (Я не проверял, но мне кажется что если и будут то незначительные особенно для PC начиная с win7 уже не говоря о компах рассчитаных на win 10.

Технически, мне кажется что лучше уже на UWP Win10 писать чем на винформ, если нету требовиний по операционке?

Паттерн MVVM , вроде не обязателен. хотя я думаю что крупных приложениях без него никак

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

Так зачем себя ограничивать ВинФОрм ?? разве что только если есть требование к Windows XP

Вот я пробовал делать собственную команду для кнопки, получилось не очень , намного проще делать кодбихаинд с одним ивентом по клику.
Но с другой стороны

Для стандартных методов все очень просто:
Просто декларировать и создать метод
XML
1
2
3
4
5
    <Window.CommandBindings>
        <CommandBinding Command="ApplicationCommands.PrintPreview" Executed="PrintPreview_Executed"/>
        <CommandBinding Command="ApplicationCommands.Find" Executed="FilterMaterial_Executed"/>
        <CommandBinding Command="Help" CanExecute="CanExecute" Executed="Executed"/>
    </Window.CommandBindings>
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
    public class CommandViewModel : ICommand
    {
        private ViewModel.MainWindowViewModel _viewModelDataObj;
        private Model.ModelCalculation _modelCalculationObj;
      
 
        public CommandViewModel(MainWindowViewModel ViewModelDataObj, Model.ModelCalculation ModelCalculationObj)
        {
            _viewModelDataObj = ViewModelDataObj;
            _modelCalculationObj = ModelCalculationObj;
 
        }
 
        #region ICommand Members        
 
        /// <summary>
        /// вызывается при изменении состояния.
        ///Для любых использующих данную команду элементов управления оно является
        ///сигналом о том, что им следует вызвать метод CanExecuteO и проверить состояние
        ///команды.Это часть связующего звена, которое позволяет источникам команд(вроде элемента
        ///управления Button или элемента управления Menu Item) автоматически включать себя,
        ///когда команда доступна, и отключать, когда она не доступна.
        /// </summary>
        public event System.EventHandler CanExecuteChanged
        {
            add {
                CommandManager.RequerySuggested += value;
            }
            remove {
                CommandManager.RequerySuggested += value;
            }
        }
 
        /// <summary>
        /// содержаться прикладная логика, решающая задачу
        /// </summary>
        /// <param name="parameter"></param>
        public void Execute(object parameter)
        //public void Execute(object parameter, IInputElement target)
        {
            About about = new About
            {
                //Owner = this;
            };
 
            about.Show(); //ShowDialog();
 
            string s;
            Assembly _assembly = null;
            StreamReader _textStreamReader = null;
 
            try
            {
                _assembly = Assembly.GetExecutingAssembly();
                using (_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("TTR43.Resources.SystemRequirements.txt")))
                {
                    while ((s = _textStreamReader.ReadLine()) != null)
                    {
                        about.AboutText.Text += s + "\r\n";
                    }
                    //_textStreamReader.Close();
                }
            }
            catch (ArgumentNullException ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.TargetSite.ToString(), MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 
        /// <summary>
        /// возвращает информацию о состоянии команды, а именно —
        /// значение true, если она включена, и false, если она отключена.
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public bool CanExecute(object parameter)
        //public bool CanExecute(object parameter, IInputElement target)
        {
            return true;
        }
 
        #endregion
    }
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
03.04.2018, 20:22
Amadara, Вот, посмотри https://www.youtube.com/channe... fwA/videos
Это на WinForms. WinForms ничуть не хуже WPF. Просто WPF декларативный подход к дизайну, и дизайнерам он больше по душе.
1
 Аватар для Amadara
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
03.04.2018, 20:46  [ТС]
Цитата Сообщение от Bretbas Посмотреть сообщение
Amadara, Вот, посмотри https://www.youtube.com/channe... fwA/videos
Это на WinForms. WinForms ничуть не хуже WPF. Просто WPF декларативный подход к дизайну, и дизайнерам он больше по душе.
Спасибо
Все технологии очень крутые и нужны, и очень полезные

Да и моих знаний явно недостаточно что бы рассуждать

А винформ позволяет создавать адаптивный дизайн?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 07:56
Amadara, у Мак-Дональда в книге все очень хорошо описано, но там не используется MVVM, так что никто не запрещает делать так, как вам проще. Это же вам потом рефакторинг кода нужно будет делать

Добавлено через 37 секунд
Цитата Сообщение от Amadara Посмотреть сообщение
А винформ позволяет создавать адаптивный дизайн?
Это равносильно штаны через голову одевать. В принципе можно сделать, но неимоверными усилиями
1
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
04.04.2018, 08:49
Amadara,
Цитата Сообщение от Amadara Посмотреть сообщение
А винформ позволяет создавать адаптивный дизайн?
Зачем там вообще адаптивный дизайн, если WinForms только для винды? Кстати WPF тоже только для винды, и тоже нет там адаптивного дизайна.
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
04.04.2018, 10:48
Цитата Сообщение от Bretbas Посмотреть сообщение
и тоже нет там адаптивного дизайна
Я почти уверен, что под адаптивным дизайном имеется ввиду возможность UI адаптироваться на различных устройствах (считай на устройствах с различным разрешением). Естественно, по-умолчанию ОС = Windows. К сожалению WPF не кроссплатформенный, поэтому ни о каком адаптивном интерфейсе WPF под Linux (так для примера) говорить не приходится

WinForms-приложение теоретически можно написать, так чтобы учитывалось разрешение устройства, но в WPF это уже встроено. В этом отношении WinFroms уступает WPF.

Извините за 5-ть копеек.
1
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
04.04.2018, 10:51
_katon_,
Цитата Сообщение от _katon_ Посмотреть сообщение
Я почти уверен, что под адаптивным дизайном имеется ввиду возможность UI адаптироваться на различных устройствах
Ну так я за это и говорю. Но так как WinForms и WPF только под винду, то про адаптивный дизайн нет смысла разговаривать

Цитата Сообщение от _katon_ Посмотреть сообщение
К сожалению WPF не кроссплатформенный, поэтому ни о каком адаптивном интерфейсе WPF под Linux (так для примера) говорить не приходится
Вот, если интересно будет https://github.com/AvaloniaUI/Avalonia
Сам не пробовал, так как она еще в альфа, но люди есть которые уже пользуются
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
04.04.2018, 11:01
Цитата Сообщение от Bretbas Посмотреть сообщение
Ну так я за это и говорю. Но так как WinForms и WPF только под винду, то про адаптивный дизайн нет смысла разговаривать
Я мягко напоминаю, что на устройствах под управлением Windows тоже может быть разное разрешение.
Avalonia is a WPF-inspired cross-platform XAML-based UI framework providing a flexible styling system and supporting a wide range of OSs: Windows (.NET Framework, .NET Core), Linux (GTK), MacOS, Android and iOS.
Да это интересно, но скорее всего более перспективно будет отказаться от wpf вообще и начинать изучать asp.net core. Десктоп не то чтобы умирает (есть такие версии )... но веб сильно входит в моду.
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 12:03
Цитата Сообщение от _katon_ Посмотреть сообщение
но веб сильно входит в моду
не все задачи можно решить "вебом". В основном веб нужен для людей, в организациях же, все-так же будут использовать десктоп.
1
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
04.04.2018, 12:16
Цитата Сообщение от _katon_ Посмотреть сообщение
но веб сильно входит в моду
Да, это так...
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2018, 12:36
я думаю что не веб, а мобильные технологии опережают, но для их работы требуется веб
1
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
04.04.2018, 14:25
Цитата Сообщение от Почтальон Посмотреть сообщение
В основном веб нужен для людей, в организациях же, все-так же будут использовать десктоп.
Позволю себе с вами не согласится. Сейчас именно для организаций "пилится" очень много облачных решений. При этом решение обычно работает как на облачном сервере так и локальном. Сам работал вот с эти : bpm'online. Это не реклама - их продукт мне не понравился, хотя прошло года два и может быть они "подсушили" его.

Почему десктоп живет и будет жить очень долго?
Сейчас очень много управленцев из "старой гвардии" (по крайней мере на пост-СНГ), которые не доверяют "всяким там облакам" даже зная, что могут извлечь из этого выгоду. Им кажется проще держать свой "тощий" серверок и сисадмина с аленями на свитере. Не думайте, что я такой подход критикую или одобряю - просто делюсь небольшим опытом.
Много действительно надежных решений "накоплено" на десктопе (и продолжает разрабатывается), в которых уверено очень много народу.
1
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
04.04.2018, 18:37
_katon_,
Цитата Сообщение от _katon_ Посмотреть сообщение
Много действительно надежных решений "накоплено" на десктопе (и продолжает разрабатывается), в которых уверено очень много народу.
Конечно, легаси кода что конь на**
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2018, 18:37
Помогаю со студенческими работами здесь

XmlSchemaValidator: как перейти к следующему элементу после ошибки?
Задача - проверить файл XML при помощи схемы XSD. Из примера на msdn собрал маленький проект, вроде работает. Проблема в чем. Если в...

Как в DataGrid, который находится в WebBrowser1, перейти на следующую страницу?
Доброго времени суток всем! Подскажите, плиз по сабжу (картинка приложена) Содержание текущей (первой) страницы прочитать удалось,...

Перейти к определенному div-у
Подскажите пожалуйста, как можно при загрузке страницы перейти к определенному div-у с помощью js? Спасибо.

Как подключить БД к DataGrid (WPF)
Я новичок в работе с БД. Скачал Workbench, создал базу и таблицу, а в ней столбцы. В Visual Studio в проекте на WPF на форме есть элемент...

WPF. Как правильно прокручивать DataGrid
Всем добрый день. У меня в окне такая структура контролов: Window Grid с тремя строками: два для DataGrid и один для GridSplitter ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru