powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
25 сообщений из 215, страница 7 из 9
Добавление новых строк в таблицу
    #37305253
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работаем с DataForm при переходе на страницу где должны находится поля для заполнения, пишем что то типа (с собой нет кода, поэтому по памяти)
Код: plaintext
1.
DataForm1.C...= new PlanAdd() 
В файле PlanAdd.xaml.cs прописывается
Код: plaintext
1.
2.
[Display(Name = "Код специальности")]
        public string name { get; set; }
В итоге после загрузки DataForm получается
Код: plaintext
1.
Код специальности   _____________________ //Форма для ввода
Вопрос: можно ли изменить размер формы для ввода, что бы она не была в одну строку, а имела форму для много-строчного ввода текста. Если что не так написал то после выходных отпишусь, c пояснениями. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37305297
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вы в форме для этого поля используете TextBox вот и задайте ему соответствующие атрибуты.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37307189
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле я пытался сделать как в примере http://www.techdays.ru/videos/1426.html, на форме нет ничего похожего на TextBox. Как переделать точнее где "рыть" в вашем примере?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37307322
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. Хотелось-бы организовать возможность много строчного ввода.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37307565
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

в моем примере все это есть, почему вы этого не видите не знаю.

автор<toolkit:DataForm.NewItemTemplate>
...
<toolkit:DataForm.EditTemplate>
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37307732
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага видел, также я посмотрел тот пример, что выше там вроде есть возможность обрабатывать ошибки т.п. (поэтому и взял за основу). Ладно будем пытаться делать как у Вас в примере. Или это одно и тоже только отличие в реализации?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37307979
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

это одно и тоже, только в видео рассматривается вариант с Автогенерацией полей, у меня в примере происходит объявление только необходимых полей.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308031
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь сделать по вашему
Код: plaintext
1.
2.
3.
  <toolkit:DataField Label="Имя">
             <TextBox Text="{Binding Path=name, Mode=TwoWay}"/>
  </toolkit:DataField>

Код: plaintext
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.
    public partial class Page_add : Page
    {
        private z_plan_name newRecord { get; set; }
        public Page_add()
        {
            InitializeComponent();
            this.newRecord = new z_plan_name(); 
          

        }

        // Выполняется, когда пользователь переходит на эту страницу.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.DFAdd_Plan.CurrentItem = this.newRecord;
        }

            private void SubmitCompleted(System.ServiceModel.DomainServices.Client.SubmitOperation obj)
        {
            {
                this.biLoading.IsBusy = false;
                if (obj.HasError)
                {
                    obj.MarkErrorAsHandled();
                    MessageBox.Show(obj.Error.Message);
                }
                else
                {
                    this.NavigationService.ShowPrevPage();
                }
            }
        }
   
        private void btnSaveRecord_Click(object sender, RoutedEventArgs e)
        {
            this.newRecord = new z_plan_name();
            if (ResourceWrapper.CurrentDomainContext == null)
            {
                return;
            }
            if (this.DFAdd_Plan.CommitEdit())
            {
                ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
                ResourceWrapper.CurrentDomainContext.SubmitChanges(SubmitCompleted, null);
            }
        }

Выскакивает ошибка
"Submit operation failed validation. Please inspect Entity. ValidationErrors for each entity in EntitiesError for more information."
Запись не добавляется.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308109
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка исчезла
Код: plaintext
1.
<TextBox Text="{Binding Path=name, Mode=OneTime, [color=black]ValidatesOnExceptions=true[/color]}"/>
Но запись по прежнему не добавляется на MSSQL-сервер в таблицу.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308329
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

а почему у вас
автор{Binding ... Mode= OneTime }
?

вот и не работает...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308716
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Побывал разные "Mode" не помогло на Mode=TwoWay выскакивает ошибка
Код: plaintext
1.
2.
Submit operation failed validation. Please inspect Entity. 
ValidationErrors for each entity in EntitiesError for more information.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308717
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может что с сервером
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37308934
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

в DataForm всегда нужно использовать Binding.Mode=TwoWay (нужно открыть книгу и прочитать про Binding).

если вываливается такое сообщение, значит не заполняешь какие-то поля, или обязательные или те у которых не может быть значение null.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37309082
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сервере таблица с полями
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
[id]
[kod_speciality]
[name]
[speciality]
[user]
[delete]
[remark]
Кроме поля id всем "разрешил" NULL. Обновил модель базы данных.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 <toolkit:DataForm x:Name="DFAdd_Plan" Height="266">
                <toolkit:DataForm.NewItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <toolkit:DataField Label="Имя">
                                    <TextBox Text="{Binding Path=name, Mode=TwoWay}"/>
                            </toolkit:DataField>
                             <toolkit:DataField Label="Код специальности">
                                    <TextBox Text="{Binding Path=kod_speciality, Mode=TwoWay}"/>
                             </toolkit:DataField>
                            </StackPanel>
                    </DataTemplate>
                </toolkit:DataForm.NewItemTemplate>
            </toolkit:DataForm>
Один фик та-же ошибка. Чего не нравится?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37309153
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставил точку останова на
Код: plaintext
1.
ResourceWrapper.CurrentDomainContext.SubmitChanges(SubmitCompleted, null);
Посмотреть что в this.newRecord "лежит" там одни Null. В Вашем проекте, что пишешь то и принимают столбцы. Блин.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37309441
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался. Все моя невнимательность. Нужно было избавится от
Код: plaintext
1.
 this.newRecord = new z_plan_name();

в
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 private void btnSaveRecord_Click(object sender, RoutedEventArgs e)
        {
            this.newRecord = new z_plan_name();
            if (ResourceWrapper.CurrentDomainContext == null)
            {
                return;
            }
            if (this.DFAdd_Plan.CommitEdit())
            {
                ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
                ResourceWrapper.CurrentDomainContext.SubmitChanges(SubmitCompleted, null);
            }
        }
Вернемся к "красоте" Вы говорили, что в примере и видео одно и тоже. Подскажите как сделать в вашем примере что то подобное
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
      [Display(Name = "Код специальности", Description = "Введите код специальности вида XXXXXX")]
        public string name { get; set; }
        [Display (Name = "Наименование специальности", Description = "Вводим все что хотим")]
        public string name_plan { get; set; }
        [Display (Name = "Примечание", Description="Примечание к плану. Поле необязательное к заполнению")]
        public string remark { get; set; }
    }
т.е. как к вашему примеру "прикрутить" проверку на ошибки вводимых данных таким образом чтобы по русски писалась проблема + подсказки. Ну про многострочный ввод я не спрашиваю.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37310065
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

есть два пути:
1) когда вы объявляете свои поля в DataForm, тогда нужно всё описывать руками (название, цеплять Description);
2) оставить автогенерацию для полей + почитать про Атрибуты для RIA Services (чтобы не писать тут то, что уже написано);

если нужно валидировать данные, нужно искать что-то вроде ValidateData()
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37310108
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а 7 (семь) страниц все еще о том, как добавить запись в базу данных или 6 (шесть) страниц просто стеб идет? Просто вопрос...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37316049
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я опять со своими "баранами" при загрузки страницы пытаюсь показать Child.
Код: plaintext
1.
2.
ChildWindow1 Plan = new ChildWindow1();
Plan.Show();

"Чилд" подгружает в "фрейм" страницы при инициализации
Код: plaintext
1.
this.frame1.Navigate(new Uri("/Authorization/Authorization.xaml", UriKind.Relative));
как в предыдущем примере. Но после закрытия если я хочу открыть новый чилд то в него грузится предыдущая страница. На
Код: plaintext
1.
2.
3.
4.
5.
6.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>(this);
            if (childWindow != null)
            {
                //Грузим в Frame страницу Page_add.xaml
                NavigationService.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
            }
ругается, а именно на
Код: plaintext
1.
                NavigationService.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
Как обойти эту "проблему".
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37316114
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

настоятельно советую открыть книгу и почитать про Navigation Framework (как работать с фреймом и страницами в частности), вы не понимаете сути происходящего и городите 100% неработающий код!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37316187
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там все описано с помощью
<HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}"
NavigateUri="/About" TargetName="ContentFrame" Content="about"/>
А у меня BarButtonItem у которых есть событие ItemClick.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37316221
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

да нет никакой разницы на чем там написано, это не повод не открывать книгу и познавать суть. Да я и не спорю суть познавать надо и книги читать тоже. Но тут то я, что-то не пойму почему не работает
Код: plaintext
1.
2.
3.
4.
5.
6.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>(this);
            if (childWindow != null)
            {
                //Грузим в Frame страницу Page_add.xaml
                NavigationService.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
            }
я ведь гружу в "Фрейм" находящийся на "чилде". На
Код: plaintext
1.
NavigationService.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
больше не ругается создал новую страницу и прописал в App чтобы грузилась при старте
Навигацию по страницам вроде "освоил" на примере предложенный Вами выше тот что с "Uri". Дальше ступор. Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37316675
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

в книге черным по белому написано, что
авторNavigationService
используется для навигации со страницы на страницу, тобишь если мы загрузили во Фрейм страницу, и в этой странице есть скажем кнопка, чтобы перейти на другую страницу, то нужно использовать именно его (NavigationService).

в вашем случае, как я уже говорил несколько страниц назад ( :-0 ), в вашем ChildWindow нужно создать метод, по которому вы будете грузить необходимую вам страницу.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37319941
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж пример перед глазами, а я в упор ничего не увидел. Все получилось. Не подскажите как у ComboBox получить значение выбранного элемента и есть какой бы элемент выбрать для отображения заголовка окна Title в свойствах нет.
...
Рейтинг: 0 / 0
25 сообщений из 215, страница 7 из 9
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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