powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Фильтр данных в связанных таблиц
25 сообщений из 52, страница 2 из 3
Фильтр данных в связанных таблиц
    #37414215
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

по ссылке выше явно указывается, что используемая технология ASP.NET - это полноценный Net Framework работающий на сервере, почитайте что такое Silverlight.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37418982
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо сделал импорт функции и указал "сложный тип". Пытаюсь удалить запись без привязки к DataGrid используя
Код: plaintext
1.
2.
3.
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:z_kaf, CreateList=true}"
                                      Height="0" Name="z_kafDomainDataSource" 
                                      QueryName="GetZ_kafQuery" Width="0" 
                                      Margin="0,0,360,479" >
Код: plaintext
1.
2.
 z_kafDomainDataSource.DataView.RemoveAt( 74 );
 z_kafDomainDataSource.SubmitChanges();
не получается вызвать
Код: plaintext
1.
2.
3.
4.
5.
   public void DeleteZ_kaf(z_kaf z_kaf)
        {
            if ((z_kaf.EntityState == EntityState.Detached))
            {
..........................
это вообще возможно (вызов DeleteZ_kaf(z_kaf z_kaf))
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37419301
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вызвать можно любой метод в DomainService, только вы не правильно делаете удаление, вы пытаетесь удалить элемент коллекции под №74, а нужно на вход подавать Запись (т.е. сам объект).
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37419489
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вызвать метод? В место RemoveAt(74); использовать Remove(xxx) и почему нельзя использовать RemoveAt(74)
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37419720
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

используйте просто Remove, причину указал выше, с RemoveAt вы можете удалить не ту запись.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37425229
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс... Не могу врубится почему z_kafDomainDataSource.DataView.RemoveAt(10) при первом проходе удаляет, а точнее меняет значения столбцов 11 записи в таблице при втором уже меняет значения 12 и т.д. Подскажите как получить запись связанной таблицы чтобы корректно удалить запись здесь
Код: plaintext
1.
2.
3.
4.
 GridCellMenuInfo menuInfo = Control_kafedra.GridMenu.MenuInfo as GridCellMenuInfo;
                if (menuInfo != null && menuInfo.Row != null)
                {
                 rb_kaf ID_Plan = menuInfo.Row.Row as rb_kaf;
получаю ID_Plan "запись" из первой таблицы связанной со второй по столбцу, чтобы использовать Remove().
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37425668
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вы покажите как вы удаляете
z_kafDomainDataSource.DataView.RemoveAt(...)
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37425872
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытался таким способом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 GridCellMenuInfo menuInfo = Control_kafedra.GridMenu.MenuInfo as GridCellMenuInfo;
                if (menuInfo != null && menuInfo.Row != null)
                {
                    rb_kaf ID_Plan = menuInfo.Row.Row as rb_kaf;
                    ID = ID_Plan.indx;
                    Parameter p = new Parameter();
                    p.Value = ID;
                    p.ParameterName = "Idx";
                   z_kafDomainDataSource.QueryParameters.Add(p);
                   z_kafDomainDataSource.Load();
                   z_kafDomainDataSource.ClearQueryParams();
                   z_kafDomainDataSource.DataView.RemoveAt( 7 ); в место  7  хотел передать значение номера записи
                   z_kafDomainDataSource.SubmitChanges();
                }
Код: plaintext
1.
2.
3.
4.
    public IQueryable<z_kaf> GetZ_kaf(int Idx)
        {
            return this.ObjectContext.z_kaf.Include("rb_kaf").Where(r => r.indx == Idx);
        }
Но в данном случае метод в DomainService
Код: plaintext
1.
2.
3.
4.
  public void DeleteZ_kaf(z_kaf z_kaf)
    {
.............
    }
вообще не вызывается если удалить все оставив только

Код: plaintext
1.
2.
3.
4.
5.
6.
GridCellMenuInfo menuInfo = Control_kafedra.GridMenu.MenuInfo as GridCellMenuInfo;
                if (menuInfo != null && menuInfo.Row != null)
                {
                   z_kafDomainDataSource.DataView.RemoveAt( 7 ); в место  7  хотел передать значение номера записи
                   z_kafDomainDataSource.SubmitChanges();
                }
и
Код: plaintext
1.
2.
3.
4.
public IQueryable<z_kaf> GetZ_kaf()
        {
            return this.ObjectContext.z_kaf;
        }
то метод Delete вызывается и удаляет запись с номером 6 последующий вызов z_kafDomainDataSource.DataView.RemoveAt(7); удаляет следующую запись. Вывод-вопрос:Как это сделать правильно? Спасибо
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37425884
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

блин, ну списки это ведь совсем просто.

положите перед собой пять ручек, уберите ручку под №3 (тут вы делаете RemoveAt) и сместите снизу лежащие ручки к верху, что вы получите?

правильно, получится, что ручка ранее лежащая на позиции №4 стала под №3, понимаете?

а теперь представьте что ручки разного цвета, в данном случаем цвет это Id ручки, и для того чтобы удалить эту красную ручку, ее во первых нужно найти в этом списке, во вторых передать Объект (Ручка, Id=Красная) в метод Remove(..)

абсолютно так же в вашем случае.

находите в вашем DomainContext "ручку" с необходимым Id и пихаете в метод Remove
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37425954
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Со списками понятно, но вот что писать в DomainContext, чтобы использовать Remove не совсем как например запихать полученное значение
Код: plaintext
1.
2.
3.
4.
public IQueryable<z_kaf> GetZ_kaf(int Idx)
        {
            return this.ObjectContext.z_kaf.Include("rb_kaf").Where(r => r.indx == Idx);
        }
в remove? Или это не то (нужное мне) значение?
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37426041
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

авторvar record = DomainContextНаSilverlight.Z_kafs.FirstOrDefault(r => r.Idx == IdЗаписи);

if(record == null)
return;

DomainContextНаSilverlight.Z_kafs.Remove(record);
DomainContextНаSilverlight.SubmitChanges();
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37427635
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое DomainContextНаSilverlight?
Это
Код: plaintext
1.
2.
<riaControls:DomainDataSource.DomainContext>
                    <my:myContext />
</riaControls:DomainDataSource.DomainContext>

в моем случае myContext.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37427971
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Я вам много раз уже говорил: "Используйте один DomainContext для всего приложения" !

объявите ваш myDomainContext в ресурсах как статический и вперед
ну естественно его нужно перед использованием достать из ресурсов
авторvar record = myDomainContext.Z_kafs.FirstOrDefault(r => r.Idx == IdЗаписи);

if(record == null)
return;

myDomainContext.Z_kafs.Remove(record);
myDomainContext.SubmitChanges();
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37428427
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я вроде и использую единый DomainContext
только вот я его может не объявил
авторобъявите ваш myDomainContext в ресурсах как статический
и у
Код: plaintext
1.
var record = myDomainContext.Z_kafs.FirstOrDefault(r => r.Idx == IdЗаписи);
которую пишем в cs или DomainService?
myDomainContext. нет Z_k...
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37428459
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37428791
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

я в шоке от вашего непонимания.

наймите репетитора.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37429071
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс... извиняйте, ступил. Забыл о файлике ResourceWrapper.cs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   public class ResourceWrapper
    {
        public static Plan.Web.myContext CurrentDomainContext
        {
            get
            {
                return Application.Current.Resources["DomainContext"] as Plan.Web.myContext;
            }
        }
    }
но толmко вот запись всегда null
Код: plaintext
1.
var record = ResourceWrapper.CurrentDomainContext.z_kafs.FirstOrDefault(r => r.indx ==  1 );
хотя в таблице присутствует
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37429202
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

авторхотя в таблице присутствует
какую таблицу вы имеете ввиду?

если на клиента эта запись не подгружалась, соответственно record будет равен null.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37430506
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось вот что
Код: plaintext
1.
2.
3.
4.
5.
6.
 z_instituteDomainDataSource.Load();
    var record = ResourceWrapper.CurrentDomainContext.z_institutes.FirstOrDefault(r => r.indxrb == ID_Plan.indx);
    if (record == null)
       return;
     ResourceWrapper.CurrentDomainContext.z_institutes.Remove(record);
     ResourceWrapper.CurrentDomainContext.SubmitChanges();
но вот как обновить GridControl не знаю.
Код: plaintext
1.
gridControl_institute.RefreshData();
не помогает, данные из грида вообще пропадают тот же результат происходит и при
Код: plaintext
1.
z_institute_procDomainDataSource.Load();
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37430632
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во как... Если
Код: plaintext
1.
2.
3.
 ResourceWrapper.CurrentDomainContext.z_institutes.Remove(record);
 ResourceWrapper.CurrentDomainContext.SubmitChanges();
 z_institute_procDomainDataSource.Load();
не работает, а если тупа на кнопке
Код: plaintext
1.
2.
3.
4.
  private void button1_Click(object sender, RoutedEventArgs e)
        {
 z_institute_procDomainDataSource.Load();
        }
то все прекрасно обновляется.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37430963
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

RIA Services работает асинхронно, поэтому сразу после SubmitChanges не работает DomainDataSource.Load,
следует ловить OnSubmitChanges на вашем DomainDataSource.
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37431299
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. ловить? Создать
Код: plaintext
1.
2.
3.
4.
   private void OnSubmitChanges(object sender, RoutedEventArgs e)
        {
            z_institute_procDomainDataSource.Load();
        }
и вызывать
Код: plaintext
1.
ResourceWrapper.CurrentDomainContext.SubmitChanges(OnSubmitChanges, null);
но на это он ругается
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37431414
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

я всего лишь программист,
поэтому не могу включить часть мозга которая отвечает за экстрасенсорные способности,
чтобы увидеть
авторно на это он ругается
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37432118
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строку
Код: plaintext
ResourceWrapper.CurrentDomainContext.SubmitChanges(OnSubmitChanges, null);
подчеркивает и пишет что
Код: plaintext
1.
Ошибка	 27 	Наиболее подходящий перегруженный метод для "System.ServiceModel.DomainServices.Client.DomainContext.SubmitChanges(System.Action<System.ServiceModel.DomainServices.Client.SubmitOperation>, object)" имеет несколько недопустимых аргументов
...
Рейтинг: 0 / 0
Фильтр данных в связанных таблиц
    #37432269
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ппц, вам русским языком даже написали что необходимо сделать.

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

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


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