powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Номер по порядку. Как делается?
33 сообщений из 33, показаны все 2 страниц
Номер по порядку. Как делается?
    #38596952
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вычисляемое свойство SequenceNumber(Номер по порядку), нужно его значения вывести на форму.Не знаю как правильно записать в него результат.
Пытался вот что-то сделать, но не правильно.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
namespace LightSwitchApplication
{
    public partial class RegisterInkasBag
    {
        partial void SequenceNumber_Compute(ref int result)
        {
             //Присваиваем номер по порядку
            IEnumerable<int> num = this.JournalInkassBag.RegisterInkasBags.Select(n=>n.SequenceNumber=n.SequenceNumber+1);
            foreach(var seqnum in num)
           {
              result = seqnum;
           }
        
        }
    }
}


Объясните как делается реализация порядкового номера в EF.
Прикрепил картинку, чтобы более понятно были отношения.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38596988
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

воспользоваться вот таким методом Select ? http://msdn.microsoft.com/ru-ru/library/bb534638(v=vs.110).aspx
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597438
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouchorehov_i,

воспользоваться вот таким методом Select ? http://msdn.microsoft.com/ru-ru/library/bb534638(v=vs.110).aspx
А что мне нужно подставить в массив вместо { "apple", "banana", "mango", "orange",
"passionfruit", "grape" } ?
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597501
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Наверное как-то так:

this.JournalInkassBag.RegisterInkasBags.Select((x, i) => new { Index = i, Entity = x});

P.S. Читайте букварь, пожалуйста...
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597504
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изменил код, но все равно не получается.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 partial void SequenceNumber_Compute(ref int result)
        {
             //Присваиваем номер по порядку
RegisterInkasBag [] num=this.JournalInkassBag.RegisterInkasBags.ToArray();
            IEnumerable<int> query = num.Select((n,i)=>i);
            foreach(var seqnum in query)
           {

              result = seqnum;
           }
        
        }


На картинке видно, что порядковый номер в экране у всех строк одинаковый, хотя при добавлении новой строки в модальном окне №п/п выводится последовательно-1,2...
Еще не понял что нужно вставлять туда, где я поставил знак вопроса:
Код: c#
1.
 IEnumerable<int> query = num.Select((n,i)=>i,[SIZE=3]?[/SIZE]);
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597521
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

как вызывается SequenceNumber_Compute?
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597524
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, туплю. Естественно, а что он по вашему вернуть то должен, с вашим кодом?)
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597526
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ваш код равносилен
IEnumerable<int> query = num.Select((n,i)=>i);
result = query.LastOrDefault();

Какого вы еще поведения ждете?)
А 2 возвращается потому, что индекс начинается с 0, а не с 1
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597542
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouchваш код равносилен
IEnumerable<int> query = num.Select((n,i)=>i);
result = query.LastOrDefault();

Какого вы еще поведения ждете?)
А 2 возвращается потому, что индекс начинается с 0, а не с 1
Ткните где неправильно.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597570
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

int-ы - тлен. Используйте ГУИД-ы.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597591
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

foreach(var seqnum in query)
{

result = seqnum;
}
вы не понимаете, про при этом возвращается только последнее значение ?)

Monochromatique, номер строки гуидом?) пользователь не поймет )
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597657
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

Номер строки генерить на лету. В базе он не нужен
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597671
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouchorehov_i,

foreach(var seqnum in query)
{

result = seqnum;
}
вы не понимаете, про при этом возвращается только последнее значение ?)

Понимаю, только не понятно что присваивать Резальту.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597682
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Геморр какой-то получается. Вот в бэйсике все просто.
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Recount()
Dim nom As Integer 'номер сумки по порядку
nom = nom + 1
Label1.Text = nom
End Sub
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597770
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Геммор из-за каши в голове. Вы свой вопрос перечитайте - вы сами-то понимаете что спрашиваете? Даже обидно.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597800
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял ахинею ТС, то ему нужно банальное:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace LightSwitchApplication
{
    public partial class RegisterInkasBag
    {
        partial void SequenceNumber_Compute(ref int result)
        {
           result = this.JournalInkassBag.RegisterInkasBags.Max(n=>n.SequenceNumber).FirstOrDefault(0) + 1;
        }
    }
}
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597805
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_iГеморр какой-то получается. Вот в бэйсике все просто.
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Recount()
Dim nom As Integer 'номер сумки по порядку
nom = nom + 1
Label1.Text = nom
End Sub



Я не знаю, как там в бейсике, но в Шарпе такой код выдаст ошибку.

В бейсике либо ошибку, либо nom будет всегда равен единице.

Если это "просто"...
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38597808
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЕсли я правильно понял ахинею ТС, то ему нужно банальное:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace LightSwitchApplication
{
    public partial class RegisterInkasBag
    {
        partial void SequenceNumber_Compute(ref int result)
        {
           result = this.JournalInkassBag.RegisterInkasBags.Max(n=>n.SequenceNumber).FirstOrDefault(0) + 1;
        }
    }
}



И нафига номер по ссылке передавать?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace LightSwitchApplication
{
    public partial class RegisterInkasBag
    {
        partial int SequenceNumber_Compute()
        {
              return this.JournalInkassBag.RegisterInkasBags.Max(n=>n.SequenceNumber).FirstOrDefault(0) + 1;
        }
    }
}
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598036
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Круто , а теперь впилите ваш код на Basic в LightSwitch ))))))
У вас проблемы именно из-за LS, а не из-за языка
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598122
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЕсли я правильно понял ахинею ТС, то ему нужно банальное:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace LightSwitchApplication
{
    public partial class RegisterInkasBag
    {
        partial void SequenceNumber_Compute(ref int result)
        {
           result = this.JournalInkassBag.RegisterInkasBags.Max(n=>n.SequenceNumber).FirstOrDefault(0) + 1;
        }
    }
}


Так не получается. После Max(n=>n.SequenceNumber) в Intellisense нет метода FirstOrDefault. Высвечивает только это:
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598370
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Вот это я слошил. Стыдоба.

Код: c#
1.
2.
3.
int[] int_array = new int{1,3,4,5,6,7};

           int result = int_array.OrderByDescending(number => number).FirstOrDefault() + 1;
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598417
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

int result = int_array.OrderByDescending(number => number).FirstOrDefault() + 1;
чем не нравится
int result = 2; ?

ТС, попробуйте
Код: c#
1.
2.
3.
4.
5.
6.
private int _number = 0;
partial void SequenceNumber_Compute(ref int result)
{
    _number++;
    result = _number;
}
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598424
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

int result = 8; // fix
Ну и вообще, свяжите свой код с желанием получить номер по порядку...
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598571
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchMonochromatique,

int result = 8; // fix
Ну и вообще, свяжите свой код с желанием получить номер по порядку...

Если нужно получить новый номер для новой инкассаторской сумки - мой код - то что надо.

Если автору нужно что-то еще - я пас.

Вычисляемое свойство, его значения, записать результат и вывести на форму...
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598586
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchMonochromatique,

int result = int_array.OrderByDescending(number => number).FirstOrDefault() + 1;
чем не нравится
int result = 2; ?

ТС, попробуйте
Код: c#
1.
2.
3.
4.
5.
6.
private int _number = 0;
partial void SequenceNumber_Compute(ref int result)
{
    _number++;
    result = _number;
}


Не, не сработало. Но почему он, как вы выше написали эквивалентно result = query.LastOrDefault(); выдает, я не понимаю.
Тут видел МСУ в одной топике предлагал такой код
Код: c#
1.
var items = list.Select((a, num) => new { num = num + 1, value = a });


Но дело ведь не в запросе, да , а в том что должно правильно в ризалт попасть.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598595
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джизус, я вчитался во всё это - я совсем о другом говорил.

Код от МСУ правильный. Что еще надо?
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598596
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueLelouchMonochromatique,

int result = 8; // fix
Ну и вообще, свяжите свой код с желанием получить номер по порядку...

Если нужно получить новый номер для новой инкассаторской сумки - мой код - то что надо.

Если автору нужно что-то еще - я пас.

Вычисляемое свойство, его значения, записать результат и вывести на форму...
Мне нужно на выходе вот это:№ п/пномер сумкисумма18565000234650032152004300154020
Вот мне нужен номер по порядку вывести в каждую строку. Как видите не получается.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598599
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueДжизус, я вчитался во всё это - я совсем о другом говорил.

Код от МСУ правильный. Что еще надо?
Правильный то правильный. Что мне в result присвоить?
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598610
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче мне наверное нужен правильный метод после точки
Код: c#
1.
result = query.;

А какой не понимаю.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598648
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Мил человек, хорош жестить. Вы какое отношение к шарпу вообще имеете?

Я решительно не знаю, что надо присвоить "ризалту".

Код "от МСУ" генерирует объекты анонимного класса. У которого два поля - одно - сущность из БД, второе - ваш индекс.

Используйте их как модель - и отображайте.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598649
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А смысл кода из самого первого поста мне вообще не понятен. Но я наверное ламо.
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598662
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

http://social.msdn.microsoft.com/Forums/vstudio/en-US/369cb4a1-9a8e-4bcd-bff0-a4a552068ac0/how-to-add-rownumbers-in-datagrid?forum=lightswitch

Вот тут вроде описывается то, что вы хотите.

Через вычисляемое свойство (то, как это делаете вы) - не делает никто, что логично. так как на такое построение номера строки будет требоваться N запросов, где N - количество строк. К тому же номер будет кривым, если на скрине вы поменяете параметры сортировки например.
Решение вашим способом примерно такое: result = query.Select((x, i) => new { Id = x.Id, Index = i}).Where(x => x.Id == this.Id).First().Index

P.S. М.б. все-таки перестанете извращаться с LightSwitch ?
...
Рейтинг: 0 / 0
Номер по порядку. Как делается?
    #38598665
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

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


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