powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / WebAPI возвращает JSON для Ext.data.TreeStore
15 сообщений из 15, страница 1 из 1
WebAPI возвращает JSON для Ext.data.TreeStore
    #39011774
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь загвоздка для формирования JSON для TreeStore (ТриВью, оно же Дерево).
Для TreeStore зарезервированы 3-и поля:
Код: sql
1.
2.
3.
id int //Key
text string //Наименование ветки
leaf bool //Дочерние: false - есть, true - нет



1. У меня в Базе поля называются по другому, например так:
Код: sql
1.
2.
3.
GroupID int
GroupText string //Наименование ветки
GroupSub int //Это копу ветка подчинена, для TreeStore не нужно, нужно для выборки данных


Как быть в этом случае?
Есть ли вариант сделать запрос Linq, чтобы отобразить в JSON-е отобразить "другие" поля (первый вариант)

2. Ну и вопрос по leaf - думаю сделать отдельным топиком ...
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39011893
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть сам вопрос стоит в том, что подменить наименование полей в JSON, который "выплёвывает" MVC WebAPI в методе Get
GroupID => id
GroupText => text
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39011931
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinТеперь загвоздка для формирования JSON для TreeStore (ТриВью, оно же Дерево).
Для TreeStore зарезервированы 3-и поля:
Код: sql
1.
2.
3.
id int //Key
text string //Наименование ветки
leaf bool //Дочерние: false - есть, true - нет



1. У меня в Базе поля называются по другому, например так:
Код: sql
1.
2.
3.
GroupID int
GroupText string //Наименование ветки
GroupSub int //Это копу ветка подчинена, для TreeStore не нужно, нужно для выборки данных


Как быть в этом случае?
Есть ли вариант сделать запрос Linq, чтобы отобразить в JSON-е отобразить "другие" поля (первый вариант)

2. Ну и вопрос по leaf - думаю сделать отдельным топиком ...я бы сделал вьюшку и сэкономил массу времени.
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012087
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyвьюшку
Хорошая идея.
Теперь остался вопрос по leaf bool - есть дочерние под-ветки (false) или нет их (true).
Код: xml
1.
2.
{id:58, text:"Товар-1", leaf:true}   //нет под-веток
{id:58, text:"Товар-1", leaf:false}  //есть под-веток
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012094
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
select GroupID id, 
         GroupText text,
         case when (select count(*) from tbl as t2 where GroupSub = t1.GroupID) = 0 then 0 else 1 leaf
from tbl t1
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012097
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
end забыл: else 1 end leaf
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012107
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
На Linq надо бы ...
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012256
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты же вроде решил вьюшку сделать? так вот это она.

как это сделать на linq, я вообще без понятия.
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012278
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, эту вьюшку можно засунуть в модель, не трогая базу.
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012385
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyСобственно, эту вьюшку можно засунуть в модель, не трогая базу.
Так и сделал. Всё "Гут"! И большое спасибо за идею!

Меня вот это интересует, как бы такое с SQL to Linq:
Antonariycase when (select count(*) from tbl as t2 where GroupSub = t1.GroupID) = 0 then 0 else 1 leaf
Может подскажите ...
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012478
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinМеня вот это интересует, как бы такое с SQL to Linq:
Antonariycase when (select count(*) from tbl as t2 where GroupSub = t1.GroupID) = 0 then 0 else 1 leaf
Может подскажите ...Antonariy как это сделать на linq, я вообще без понятия.подозреваю, что за один запрос никак, но можно за два. в одну коллекцию это (на linq, само собой):
Код: sql
1.
2.
3.
4.
select GroupSub GroupID, 
       cast (count(*) as bit) leaf
from tbl 
group by GroupSub

в другую саму ветку, и объединить.
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012597
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так вроде работает:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
                var query =
                    (
                     from x in db.DirNomenGroupView
                     where x.sub == 0
                     select new
                     {
                         x.id,
                         x.sub,
                         x.text,
                         leaf =
                         (
                          from y in db.DirNomenGroupView
                          where y.sub == x.id
                          select y
                         ).Count() == 0 ? 1 : 0
                     }
                    );
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012599
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где:
Код: sql
1.
case when (select count(*) from tbl as t2 where GroupSub = t1.GroupID) = 0 then 0 else 1 leaf


делается вот так:
Код: c#
1.
2.
3.
4.
5.
6.
                         leaf =
                         (
                          from y in db.DirNomenGroupView
                          where y.sub == x.id
                          select y
                         ).Count() == 0 ? 1 : 0



П.С. Может кому пригодится ...
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012644
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вьюха не нужна, в Linq есть такая фишка как Алиасы полей, типа Скульного AS :
Код: c#
1.
2.
3.
 id = x.DirNomenGroupID,
 sub = x.DirNomenGroupSub,
 text = x.DirNomenGroupName,
...
Рейтинг: 0 / 0
WebAPI возвращает JSON для Ext.data.TreeStore
    #39012770
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinИ вьюха не нужна, в Linq есть такая фишка как Алиасы полей, типа Скульного AS :
Код: c#
1.
2.
3.
 id = x.DirNomenGroupID,
 sub = x.DirNomenGroupSub,
 text = x.DirNomenGroupName,

догадывался, но не смог подобрать синтаксис :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / WebAPI возвращает JSON для Ext.data.TreeStore
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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