powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
215 сообщений из 215, показаны все 9 страниц
Добавление новых строк в таблицу
    #37265217
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не подскажите как добавить строку в таблицу находящуюся на SQLSERVER'е
Вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 z_plan_name newItem = new z_plan_name()
                {
//Наименование столбцов в таблице
                        id = - 1 ,
                        kod_speciality = add.Kod_Box.Text, 
                        name = add.Name_Box.Text,
                        delete="d",
                };
                
                 z_plan_nameDomainDataSource.DataView.Add(newItem);
                 z_plan_nameDomainDataSource.SubmitChanges();
Строка добавляется но только в GridControl DevExpressov'ский
Как ее "отправить" в таблицу на сервере?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37267472
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема у меня заключается в понимании того как вызываются методы из Domain... (insert, delete, update)
Хотя с Delete вроде разобрался
Код: plaintext
1.
Control_Plan.DeleteRow(menuInfo.Row.RowHandle.Value);
После этой строки он и вызывается
Если я правильно понял
Как вызвать методы Update, Insert?
Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37267572
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Update - просто находите Объект и вносите изменения, делаете SubmitChanges()

Insert - выбираете коллекцию куда нужно добавить Объект, добавляете, делаете SubmitChanges()
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37267642
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прости за назойливость каким образом доработать верхний код чтобы добавить запись?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37268010
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

есть два пути:
1) использовать DomainDataSource и добавлять/обновлять/удалять записи из кода руками;
2) через DomainContext;
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37268079
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А примерчик кода можно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37268516
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

это сложно, учитывая, что является у вас DomainDataSource и единым источником DomainContext.

опишите, смогу помочь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37268719
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас попробую.
Вот код как я полагаю о котором Вы меня спрашивали
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:z_plan_name, CreateList=true}" 
                                      Height="0" LoadedData="z_plan_nameDomainDataSource_LoadedData" 
                                      Name="z_plan_nameDomainDataSource" QueryName="GetZ_plan_nameQuery" Width="0" Margin="0,0,478,250"
                                      >
            <riaControls:DomainDataSource.DomainContext>
                <my:myContext />
            </riaControls:DomainDataSource.DomainContext>
Выложу еще "картинку" источника данных.
Если нужна доп. информация то напишите, спасибо, что не проигнорировали.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37269252
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

как я и говорил ранее, есть два способа:
1) обратиться непосредственно к DomainDataSource (у вас это z_plan_nameDomainDataSource) и работать с данными;
2) либо напрямую к DomainContext;

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

так вот, если работать нужно именно с данными полученными из вашего DomainDataSource, то можно пройти к его свойству Data закастовать его в Z_plan_name (как я понял это и есть сущность), найти нужную запись и изменить/удалить.

пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
if(z_plan_nameDomainDataSource.Data==null)
return;

var dataList = z_plan_nameDomainDataSource.Data.Cast<Z_plan_name>().ToList();

// найти запись
var oneRecord = dataList.Where(r=>r.Id == 1).FirstOrDefault();

<тут можно работать с oneRecord или удалить ее>

// удалить запись
dataList.Remove(oneRecord);

// после изменений обязательно отправить данные
z_plan_nameDomainDataSource.SubmitChanges();

в работе я бы предпочел использовать второй вариант, т.к. DomainContext на клиенте это что-то вроде кеша, куда стекаются все данные после загрузки через DomainDataSource.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37269504
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вообще замучился при нажатии на кнопку выполняется код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
z_plan_name newItem = new z_plan_name()
                {
                    id =  2 ,
                    kod_speciality = add.Kod_Box.Text,
                    name = add.Name_Box.Text,
                    delete = "d",
                };
                z_plan_nameDomainDataSource.DataView.Add(newItem);
                z_plan_nameDomainDataSource.SubmitChanges();
Где id, kod_speciality, name, delete поля в таблице.
Запись после выполнения кода
Код: plaintext
1.
     z_plan_nameDomainDataSource.DataView.Add(newItem);
"добавляется" в грид (отображается), но в таблицу на сервере не добавляется (хотя должна после выполнения z_plan_nameDomainDataSource.SubmitChanges();) если я правильно понял назначение данной команды.
Используя Ваш код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if (z_plan_nameDomainDataSource.Data == null)
                    return;

                var dataList = z_plan_nameDomainDataSource.Data.Cast<z_plan_name>().ToList();

                // найти запись
                var oneRecord = dataList.Where(r => r.id ==  1 ).FirstOrDefault();
я смог добавить аналогично используя
Код: plaintext
1.
z_plan_nameDomainDataSource.DataView.Add(oneRecord);
дубль первой строки, но она также не добавилась на сервеной части.
На
Код: plaintext
1.
dataList.Remove(oneRecord);
ни какой реакции.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37269796
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

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

где почитать как напрямую работать с ним честно сказать, затрудняюсь.

я просто брал и исследовал, метод за методом, свойство за свойством.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37269954
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так Вы имеете в виду тот context? что у меня объявлен в "Источниках данных" называется "myContext"...?
потом что-то типа
Код: plaintext
1.
private myContext context;
context.SubmitChanges(); и методом перебора или... с чего начать?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37269987
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем они вообще нужны вам эти источники данных?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37270009
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okзачем они вообще нужны вам эти источники данных?
Мне нужно научится оперировать с данными находящимися на MSSQLServer'e
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37270078
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorkoJIo6okзачем они вообще нужны вам эти источники данных?
Мне нужно научится оперировать с данными находящимися на MSSQLServer'e
Дэвид Сеппа, Программирование на Microsoft ADO.NET 2.0 - мб то что нужно?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37270161
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6ok,

дружище, ты бы хоть поинтересовался что Автор использует, а использует он Silverlight + RIA Services.

вводишь только в заблуждение.

вот пример как сделать один единственный DomainContext и доставать его используя класс ResourceWrapper
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37270860
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сори сори аим крези ман )
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37270931
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, сейчас буду разбираться.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37271888
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь разобраться в примере и применить его к моему случаю. Только вот "одна" проблемка при вызове
Код: plaintext
1.
ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
ругается "В экземпляре объекта не задана ссылка на объект."

и что за параметр DomainContext в
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
namespace SLCBDDSApp
{
    public class ResourceWrapper
    {
        public static SLCBDDSAppWeb.DBDomainContext CurrentDomainContext
        {
            get
            {
                return Application.Current.Resources["DomainContext"] as SLCBDDSAppWeb.DBDomainContext;
            }
        }
    }
}
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37271986
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

посмотрите пример еще раз внимательно, загляните в Styles.xaml, там объявлен DomainContext статический ресурс, вот на него у вас ругань и идет.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37272029
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, спасибо, нашел методом тыка. Теперь хочу понять для чего Styles.xaml нужен, точнее как его переделать под себя.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37272032
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там, что описывается вся таблица в которой отображаются данные?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37272065
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

п.с. загрузка ресурса Styles.xaml происходит в App.xaml
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37273974
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Добавил в Styles одну строчку
Код: plaintext
1.
<appWeb:myContext x:Key="DomainContext"/>
и все заработало
без
Код: plaintext
1.
2.
3.
4.
 protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        this.dfAddRecord.CurrentItem = this.newRecord;
        }
и
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    private void SubmitCompleted(System.ServiceModel.DomainServices.Client.SubmitOperation obj)
        {
            this.biLoading.IsBusy = false;
            if (obj.HasError)
            {
                obj.MarkErrorAsHandled();
                MessageBox.Show(obj.Error.Message);
            }
            else
            {
                MessageBox.Show("obj.Error.Message");
                this.NavigationService.ShowPrevPage();
            }
        }
Сейчас разбираюсь с ними для чего они нужны, так сказать
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37274484
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я опять за помощью.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   private void OnAddClosed(object sender, EventArgs e) // Форма добавления записи
        {
            Child_add add = (Child_add)sender;
            bool? result = add.DialogResult;
            if (result.HasValue && result.Value)
            {
                this.newRecord = new z_plan_name()
                { // Значения полей
                  id= 3 , // Должен увеличиваться автоматически
                    kod_speciality = add.Kod_Box.Text,
                    name = add.Name_Box.Text,
                    delete = "d"
                };
                Add_z();
            }
        }
Когда удаляю поле id из описания он всегда становится "0" т.к. id с таким номером уже присутствует то запись не добавляется
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    private void Add_z()
       {
            if (ResourceWrapper.CurrentDomainContext == null)
            {
                return;
            }
            {
                ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
                ResourceWrapper.CurrentDomainContext.SubmitChanges(SubmitCompleted, null);
            }
        }
Как обойти эту ошибку? В примере ID увеличивается вместе с добавлением новой записи. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37274491
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

так вы с ChildWindow работаете не правильно.
подпишитесь на событие закрытия диалога, потом решайте, добавлять запись или нет.

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

оп, извиняюсь, просмотрел, что описанное мной выше уже делается :)

в общем, если ваше поле id в БД помечено как identity (автоприращение), то руками его трогать не рекомендую, оно будет работать самостоятельно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37274769
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, действительно на сервере в таблице свойство "Удостоверение", было в False.
За что же отвечает код
Код: plaintext
1.
if (this.dfAddRecord.CommitEdit())
и
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
       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 btnCancelSaveRecord_Click(object sender, RoutedEventArgs e)
        {
            this.NavigationService.ShowPrevPage();
        }
если без него все вроде как работает. И еще как обновить данные в самом гриде.
Еще раз огромное спасибо просто Вы мне все спокойно объяснили. Буду грызть дальше
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37275021
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

dfAddRecord - это DataForm, который предназначен для создания/редактирования/удаления записей.

делая так:
авторthis.dfAddRecord.CommitEdit()
мы вносим свои изменения в Оригинальную запись, т.к. работа происходит с копией.

рекомендую почитать про DataForm - ссылки есть в гугле.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276178
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую DevExpressov'ский компонент
Код: plaintext
1.
2.
3.
4.
5.
<dxg:GridControl Name="gridControl_Plan" AutoPopulateColumns="False" 
                         DataSource="{Binding ElementName=z_plan_nameDomainDataSource, Path=Data}" 
                         ShowBorder="False" Height="352" VerticalAlignment="Bottom" 
                         Grid.ColumnSpan="2" FilterString="name"  
                         >
Control_Plan.Add(menuInfo.Row.RowHandle.Value);
Добавляет в GridControl визуально. Что каждый раз обращаться к серверу и обновлять "грид"
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276313
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжение предыдущего поста... В общем есть способ обновить записи в GridControl после добавления в таблицу на MSSQLServere к которой и привязан этот GridControl через DomainDataSource.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276463
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

если вы добавили запись на клиенте (Silverlight приложение) это еще не значит, что она волшебным образом появится на сервере, ее нужно отправить.

в общем мантра такова:
на любое действие добавление/редактирование/удаление нужно сделать SubmitChanges()
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276657
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы меня не поняли. С Вашей помощью я научился добавлять новые записи в таблицу на SQLServer'e
КОД
Код: 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.
   private void AddItem_ItemClick(object sender, ItemClickEventArgs e)
        {
            Child_add add = new Child_add();
            add.Closed += new EventHandler(OnAddClosed);
            add.Show();

        }

        private void OnAddClosed(object sender, EventArgs e)
        {
            Child_add add = (Child_add)sender;
            bool? result = add.DialogResult;
            if (result.HasValue && result.Value)
            {
                this.newRecord = new z_plan_name()
                {
                    kod_speciality = add.Kod_Box.Text,
                    name = add.Name_Box.Text,
                    delete = "d"
                };
                Add_z();
            }
        }

        private void Add_z()
        {
            if (ResourceWrapper.CurrentDomainContext == null)
            {
                return;
            }
            {
                ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
                ResourceWrapper.CurrentDomainContext.SubmitChanges(SubmitCompleted, null);
            }
        }
После выполнения этого кода запись благополучно добавлена в таблицу на "серваке", но в GridControl'e не появляется (GridControl находится на Child форме) если ее повторно открыть то записи обновятся т.е. повторно загрузятся с "сервера". Если в место
Код: plaintext
1.
                ResourceWrapper.CurrentDomainContext.z_plan_names.Add(this.newRecord);
использовать
Код: plaintext
1.
z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
запись появляется в "гриде" но не на "сервере". Есть ли возмозность после добавления записи на "сервер" обновить GridControl? Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276680
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос, наверное снят если только я не сделал все очень "криво". Запись добавляется если после выполнения
Код: plaintext
Add_z();
добавить
Код: plaintext
1.
 z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
Осталось разобраться с редактированием записей. И попутно еще вопрос. Удалив с сервера записи в таблицы. После добавления новых ID продолжает прибавлять значения начиная с последнего значения до удаления записей.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276709
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

вопрос в чем ?
Почему после удаления записей в таблице на SQLServer'e, данные из которой загружаются в GridControl. Поле ID при добавлении новых строк из программы продолжает "расти", а не сбрасывается в ноль
т.е.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID
 1 
 2 
 3 
 4 
 5 
 6 
после удаления
Код: plaintext
1.
2.
3.
ID
 1 
 2 
добавляем записи
Код: plaintext
1.
2.
3.
4.
5.
6.
ID
 1 
 2 
 7 
 8 
....
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276788
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поспешил я с выводами при добавлении записи
Код: plaintext
1.
2.
3.
4.
5.
.................
};
   Add_z();
 z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
}
Ругается на
Код: plaintext
1.
2.
  
 z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
"Заданное приведение является недопустимым." Вывод: обновлять так нельзя или...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276835
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorуТКаChek_Fedor,

вопрос в чем ?
Почему после удаления записей в таблице на SQLServer'e, данные из которой загружаются в GridControl. Поле ID при добавлении новых строк из программы продолжает "расти", а не сбрасывается в ноль

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

оу, я думал у вас есть запас опыта, чтобы понять это.

отвечая на вопрос: да, это нормальное поведение БД, так устроено и это просто нужно принять.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276863
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorПоспешил я с выводами при добавлении записи
Код: plaintext
1.
2.
3.
4.
5.
.................
};
   Add_z();
 z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
}
Ругается на
Код: plaintext
1.
2.
  
 z_plan_nameDomainDataSource.DataView.Add(this.newRecord);
"Заданное приведение является недопустимым." Вывод: обновлять так нельзя или...
вот вы себе придумали проблему, взяли DevExpress...
со стандартным такого поведения не наблюдал, да и сам грид у DevExpress какой-то мягко говоря не айс.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37276885
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, не занимать мне наглости...
В примере редактирование происходит
Код: plaintext
1.
2.
3.
4.
   private void btnSaveRecord_Click(object sender, RoutedEventArgs e)
        {
            this.ddsCustomer.SubmitChangesAndGoBack(this.NavigationService);
        }
Но при добавлении "this.NavigationService" в свой проект ругается, что "возможно пропущена ссылка на сборку". Как отредактировать выделенную запись я пробовал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    private void EditRowItem_ItemClick(object sender, ItemClickEventArgs e)
        {
            GridCellMenuInfo menuInfo = Control_Plan.GridMenu.MenuInfo as GridCellMenuInfo;
            if (menuInfo != null && menuInfo.Row != null)
            name_edit = (String)gridControl_Plan.GetFocusedRowCellValue("name");
            kod_speciality_edit = (String)gridControl_Plan.GetFocusedRowCellValue("name");
            kod_speciality_edit = (String)gridControl_Plan.GetFocusedRowCellValue("kod_speciality");
            Child_add add = new Child_add();
            add.Closed += new EventHandler(OnAddClosed);
            add.Kod_Box.Text = kod_speciality_edit;
            add.Name_Box.Text = name_edit;
            add.Show();
        }
но четно...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37277055
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уговорили отказываюсь от DevExpresov'ского Grida :(
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37277329
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

1) вы делаете себе жизнь труднее не используя DataForm;
2) это
Код: plaintext
this.ddsCustomer.SubmitChangesAndGoBack();
мой небольшой фреймворк дабы облегчить работу с данными, лежит в папке libs Silverlight приложения, а хостится тут
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37277395
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется слишком много переделывать. Выпадающие менюшки и т.д., Ну чтож рас начал надо продолжать.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37277664
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После просмотра части инетовских ссылок посвященных DataForm сложилось впечатление, что мне ни чего не мешает поместить его на чилбд форму придать нужный мне вид и попытаться привязать к своему GridControl'у. Ну если не получится то придется использовать DataGrid.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37279051
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, экспериментирую тут. Создал ChildWindow в предложенном Вами проекте "SLCBDDSApp" урезал до "не могу" код Add.xaml вставил его в "новоиспеченную" Child форму в результате чего при вызове ее отображаются только кнопки "Save_Add" и "Cancel" но не
Код: plaintext
1.
2.
3.
<toolkit:DataField Label="Last name">
    <TextBox Text="1111111"/>
</toolkit:DataField>
хотя при вызове Add.xaml все что прописано то и отображается.
Вот код xaml
Код: 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.
<controls:ChildWindow xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"  x:Class="SLCBDDSApp.ChildWindow1"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
           xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
           Width="400" Height="300" 
           Title="ChildWindow1">
    <Grid x:Name="LayoutRoot" Margin="2">
        <toolkit:DockPanel>
            <toolkit:DockPanel HorizontalAlignment="Right" toolkit:DockPanel.Dock="Top">
                <Button x:Name="btnSaveRecord" Style="{StaticResource ButtonSaveRecordStyle}"  Content="Save_Add" />
                <Button x:Name="btnCancelSaveRecord" Style="{StaticResource ButtonCancelRecordStyle}" />
            </toolkit:DockPanel>

                <toolkit:DataForm x:Name="dfAddRecord" >
                    <toolkit:DataForm.NewItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <toolkit:DataField Label="Last name" >
                                 <TextBox Text="1111111"/>
                            </toolkit:DataField>
                            </StackPanel>
                        </DataTemplate>
                    </toolkit:DataForm.NewItemTemplate>
                </toolkit:DataForm>
            </toolkit:DockPanel>
        
        <Button x:Name="CancelButton" Content="Отмена" Click="CancelButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" />
        <Button x:Name="OKButton" Content="ОК" Click="OKButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" />

        </Grid>
</controls:ChildWindow>
cs ChildWindow1

Код: 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.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SLCBDDSApp
{
    public partial class ChildWindow1 : ChildWindow
    {
        public ChildWindow1()
        {
            InitializeComponent();
        }

        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = true;
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }
    }
}
Вызываем Child кликом на кнопку расположенную на форме MainPage
Код: plaintext
1.
2.
3.
4.
5.
   private void button1_Click(object sender, RoutedEventArgs e)
        {
            ChildWindow1 child = new ChildWindow1();
            child.Show();
        }
Что не так почему не все отображается или DataForm нельзя кидать на "Чилд_Форму"? Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37279181
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ну, а где же
Код: plaintext
1.
dfAddRecord.CurrentItem = <моя_новая_запись>
?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37282722
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс эксперимент зашел в тупик...
Сделал как в примере, в том случае если добавить
dfAddRecord.CurrentItem="Запись" в Child_add (моя Child'форма), то при открытии формы все отображается. Есть еще пример с использованием класса типа описание dataform описывают в отдельном файле
Код: plaintext
1.
2.
3.
4.
5.
    public class PlanAdd
    {
        [Display (Name="Код специальности")]
        public string name { get; set; }
    }
вызывается
Код: plaintext
1.
dfAddRecord.CurrentItem = new PlanAdd();
Также я не могу вызвать из другого окна
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   public partial class Child_Window_Plan : ChildWindow
    {
        private z_plan_name newRecord { get; set; }
        public string Str_Coop, name_edit, kod_speciality_edit;
        public Child_Window_Plan()
        
        {
         InitializeComponent();
         this.newRecord = new z_plan_name();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
          
              dfAddRecord.CurrentItem = this.newRecord;
        }
Ругается dfAddRecord.CurrentItem = this.newRecord; (возможно пропущена ссылка на сборку)
Вопрос каким способом лучше описать поля DataForm в cs или xaml. И как вызвать dfAddRecord.CurrentItem = this.newRecord; из другого файла. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37282936
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

что-то у меня большие сомнения на счет того, что у ChildWindow есть метод OnNavigatedTo
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283041
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой выход отказаться от ChildWindow или... И что посоветуете при создании внешнего вида+функционала dataForm использовать описание в .cs или xaml
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283058
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и я не могу вызвать
Код: plaintext
1.
dfAddRecord.CurrentItem = <моя_новая_запись>
Из другого окна, это кривизна рук или в принципе так не делают (не возможно)
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283112
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

у себя в проекте на каждое действие с записью я завожу отдельную форму и использую Navigation Framework, Silverlight не Delphi, поэтому всплывающие окна тут не комильфо.
Хорошо, уже начал часть переделывать Child'ы меняю на Page (Вы имели ввиду именно их) подскажи как вызвать (перейти на вновь созданную страницу). Уж извини я пока учусь, а лучше всего у меня получается учится на маленьких "проектах". Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283145
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

больше подробностей:
- что за "вновь созданная страница" ?
- по какому действию перейти, откуда ?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283151
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал новую страницу Page кинул туда код из Child хотел тепер перейти на нее при нажатии (выполнении кода
Код: plaintext
1.
2.
3.
4.
    private void AddItem_ItemClick(object sender, ItemClickEventArgs e)
        {
тут переходим на Page
        }
)
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37283196
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

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

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

Если смешивать навигацию и работу с БД, то нарушается принцип единичной ответственности со всеми вытекающими последствиями: усложнение, жесткая связанность и тд.

2автор, посмотри примеры в prism или caliburn.micro.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284029
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iуТКаChek_Fedor,

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

Если смешивать навигацию и работу с БД, то нарушается принцип единичной ответственности со всеми вытекающими последствиями: усложнение, жесткая связанность и тд.

2автор, посмотри примеры в prism или caliburn.micro.
у автора прослеживается жесткая нехватка опыта, пускай пока так попробует, набьет руку, потом уже совать всякие Паттерны.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284031
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

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

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

Усложнение происходит, если им не следовать. Три страницы обсуждения без конкретного результата - еще одно тому подтверждение. Если сервис навигации, mvvm, работа с БД, оконный менеджер оформленны отдельно, то можно не зависить:
- от технологии(WPF\SL)
- формы показа и вида окон(MDI, диалоговые и тд)
- от контролов
- от вида ORM
Если руководствоваться принципом единичной ответственности(KISS - Кeep it simple, stupid MCУ), то каждый отдельный класс проще в написании, понимании и его можно безболезненно заменить в любой момент.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284101
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
PS а самое главное - в результате прийти к минимуму кода
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284129
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

mvvm придумали без сомнения умные и талантливые люди.

если вы пришли сюда кидать какие-то обвинения, оставьте их при себе.

я программирую так, как мне хочется - это как религия, вы же пришли сюда и обращаете в свою веру, так делать не следует.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284152
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Я никого не обвиняю, а высказываю свое мнение - решение частное и вредное вкачестве обучения.
От дурных привычек долго приходится отвыкать(не буду показывать пальцем на показательный пример).
Прежде, чем что-то делать, лучше всего изучить готовые варианты, а их большое кол-во.
В том же Призм достаточно подробно расписана архитерктура и зачем нужен KISS. Без этого будет рукопашная борьба с каждой формой на 20листах
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284227
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

mvvm нужно использовать, когда инструменты это позволяют, в данном случае используется RIA Services и использовать с ним mvvm себе дороже.

заказчика не волнует, что ты там будешь использовать, ему нужно быстро , используя mvvm происходит торможение общего цикла разработки, т.к. на каждый чих во вьюхе нужно писать килограмм кода в модели.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284261
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Не пропагандируй глупости MCУ. Это без mvvm нужно писать кучу кода, что ты и демонстрировал в этом топике, а с ним возможен обобщенный класс, который позволяет без нее обойтись.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284331
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

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

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

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

Ты считаешь, что кроме твоих хэлперов там больше ничего нет? Напрасно.
Я давно уже сделал, так чтобы для подобных задач код не требовался.
И давно предлагал обсудить как это можно реализовать
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284793
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Действительно опыта мне не хватает. Silverligt приходится осваивать с нуля (по "просьбе" начальства). До этого писал на Delphi. Многое не понятно, нет нормальных книг с примерами для "чайника". Посему извиняйте, предыдущий пример который Вы мне посоветовали многое для меня прояснил. Я сам понимаю, что порой мои вопросы кажутся просто бестолковыми Спасибо за терпение и отзывчивость, будем "грызть" дальше.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37284835
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Книги для начального понимания уже есть MVVM .
Первые три прочесть не помешает.
В качестве возможностей чистого mvvm стоит посмотреть caliburn. coproject - caliburn +RIA c достаточно подробным описанием и примером. Борьба с БД там не обобщена, но это несложно сделать, прикрутив Repository или UnitOfWork(готовые варианты для RIA, наверняка, найдутся).
Все уже есть, единственное, что нужно - выбрать вариант под себя. Минимум затрат и минимум кода
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37286019
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вашем примере Вы используете для вызова "гипер ссылки". Все-же подскажите как вызвать (показать страницу). В моем случае "Page_add" Пробовал такую конструкцию
Код кнопки (использовал DevExpress)
Код: plaintext
1.
2.
3.
4.
5.
 <dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                               Glyph="/TSU_Plan;component/Images/openfolder_16x16.png"
                               LargeGlyph="/TSU_Plan;component/Images/openfolder_26x26.png"
                               Hint="Открыть план" ItemClick="bOpen_ItemClick">
 </dxb:BarButtonItem>
Перейти на страницу пытался из кода
Код: 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.
   public partial class MainPage : UserControl
    {
        Binding binding;

        public MainPage()
        {
            InitializeComponent();
        }
        public enum Pages
        {
            Page_add
        }
        private Dictionary<Pages, UserControl> pageCache = new Dictionary<Pages, UserControl>();

        public void Navigate(Pages newPage)
        {
            App currentApp = (App)Application.Current;
            if (!pageCache.ContainsKey(newPage))
            {
                Type type = currentApp.GetType();
                Assembly assembly = type.Assembly;
                pageCache[newPage] = (UserControl)assembly.CreateInstance(type.Namespace + "." + newPage.ToString());
                pageCache[newPage].SetBinding(Page.DataContextProperty, binding);
            }
            viewBox.Child = pageCache[newPage];
        }


        private void bOpen_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
        {
            Navigate(Pages.Page_add);
        }
ViewBox это
Код: plaintext
1.
 <Border  Name="viewBox" />
Может просветите в чем ошибка.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37286692
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как организовать переход на другие страницы при нажатии на кнопку. Что-то я в ступоре. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37286852
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

опишите, что пытаетесь делать?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287089
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287163
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorОписано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?

Федор, забрось DevExpress, а в особенности BarButtonItem, так далеко как только сможешь.
BarButtonItem - коряга из Winforms, которую можно спокойно заменить на что угодно: NavigationLink,BUtton, ListBox, etc
Тогда можно будет делать привязку к списку, применять команды, а не задавать каждый раз контекст и обработчики для этого недоразумения
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287176
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да фик с ним. Я кидал простую кнопку на MainForm. Также не смог при нажатии на нее загрузить страницу.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287181
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaChek_FedorОписано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?

Федор, забрось DevExpress, а в особенности BarButtonItem, так далеко как только сможешь.
BarButtonItem - коряга из Winforms, которую можно спокойно заменить на что угодно: NavigationLink,BUtton, ListBox, etc
Тогда можно будет делать привязку к списку, применять команды, а не задавать каждый раз контекст и обработчики для этого недоразумения
Раз тут все говорят забросить DevExpress, то подскажите чем можно заменить меню-панель типа как в Office 2003, 2007
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287832
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorДа фик с ним. Я кидал простую кнопку на MainForm. Также не смог при нажатии на нее загрузить страницу.
так эта страница, она откуда, из этого проекта или из другой сборки?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287885
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она из этого проекта. Загружается прекрасно если использовать
.XAML
Код: plaintext
1.
2.
<navigation:Frame x:Name="Frame" />
<HyperlinkButton Click="HyperlinkButton_Click" Tag="/Page_add.xaml" Content="Page"/>
.CS
Код: plaintext
1.
2.
3.
4.
5.
6.
   private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton btn = sender as HyperlinkButton;
            string url = btn.Tag.ToString();
            this.Frame.Navigate(new Uri(url, UriKind.Relative));
        }
Станица при нажатии на "Page" отображается. Мне нужно чтобы она отображалась при нажатии на Button (кнопку).
Например на эту
Код: plaintext
1.
<Button Content="Button" Height="23" Name="button" Width="75" Click="button_Click" />
Что писать в обработчики или есть другой способ реализации?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287929
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот оказывается, что мне нужно было... Добавить
Код: plaintext
1.
<navigation:Frame x:Name="Frame" />
И в обработчики "клика" кнопки прописать
Код: plaintext
1.
 this.Frame.Navigate(new Uri("/Page_add.xaml", UriKind.Relative));   
Все. Теперь буду колдовать с внешним видом страниц, мне не нужно что-бы они занимали всю рабочую область. Желательно придать им вид типа как у ChildWindow. Спасибо за помощь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288021
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

у меня честно после этого кода глаза из орбит чуть не вылезли )))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public void Navigate(Pages newPage)
        {
            App currentApp = (App)Application.Current;
            if (!pageCache.ContainsKey(newPage))
            {
                Type type = currentApp.GetType();
                Assembly assembly = type.Assembly;
                pageCache[newPage] = (UserControl)assembly.CreateInstance(type.Namespace + "." + newPage.ToString());
                pageCache[newPage].SetBinding(Page.DataContextProperty, binding);
            }
            viewBox.Child = pageCache[newPage];
        }

через Assembly грузят другие сборки и их ресурсы, но не ресурсы которые находятся в текущем проекте.

то что разобрался молодец, как видишь все достаточно просто.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288136
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сам тот код не понял, есть один проект там кстати кнопки работают т.е. страницы подгружаются (отображаются). Вот я от туда его и "содрал". Очень жалею, что приходится отказываться от Child'ов красиво и информативно. Например: работаешь с таблицей захотел открыть другую отобразил "чилд", а в общем при использовании "чилдов" есть возможность краем глаза посмотреть что на заднем фоне (но это лично мои соображения). Посоветуйте как Page сделать "похожими" на Child (ограничить в размере).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288169
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

если от чилдов отказываться не хочется, подам идею, в чилд можно положить фрейм, дальше думаю сможешь понять что делать.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288213
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Фрейм загрузить страницу? Жаль сейчас не могу попробовать комп слабоват. Направьте на путь "истинный" поподробнее. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288465
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

да, создаешь страницу унаследованную от ChildWindow, кладешь туда фрейм, создаешь метод в который будешь передавать URL страницы которую нужно открыть, метод командует фрейму открыть указанную страницу, профит.
Упс, а как создать страницу унаследованную от ChildWindow? Например есть некая Child_add и Page_add. В Child_add есть все что мне нужно (Grid и т.д.). Ну, если по русски, какую форму нужно "наполнять" и как это реализовать. Можно мини примерчик.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288906
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, поспешил с вопросом. Напугали слова "унаследованную форму..." все оказалось проще.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288949
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

все просто
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289820
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Теперь вот бьюсь с передачей фокуса GridControl, в идеале хотелось бы чтобы активной была 1 запись.
Код: plaintext
Control_Plan.Focus();
Не работает, т.е. пока я "мышкой" не "кликну" по GridControl я не могу перемещаться по записям с помощью клавиатуры (вывод фокус не передается).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289949
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, тут еще одна "непонятка" приключилась. Создал еще одну страницу+Child с "Фреймом" по тому-же принципу пытаюсь открыть Child открывается только вот содержимое грузит ту страницу откуда пытаюсь открыть этот Child.
Page_Window_Plan
Код: plaintext
1.
2.
3.
4.
5.
     private void AddItem_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
        {
            Child_add add = new Child_add();
            add.Show();   
        }

Child_add
Код: plaintext
1.
2.
3.
4.
5.
   public Child_add()
        {
            InitializeComponent();
            this.Frame_add.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.Relative));
        }
а грузит Page_Window_Plan
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289976
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

а зачем несколько чилдов делать?
тот что я подкинул универсален, только подставляй на входе в метод ShowPage разные URI страниц и все будет в шоколаде.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290301
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я пока сам полностью не представляю структуру (интерфейс) базы данных (все в разработке). Задумка на начало следующая. Первый "чилд" открытие некого "плана" при выборе "плана" есть возможность отредактировать, удалить, добавить новый (реализовано с помощью выпадающего меню) тут, все это делается в дополнительном "чилде" с подгрузкой справочников (фильтров) и т.д. Если бы я знал как реализовать, например, такой вариант, при выборе редактирования и т.п. не появляется новый "чилд" а страница грузится (отображается) в том "чилде" где был список "планов" далее все зависит от нажатия тех или иных кнопок.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290304
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую Ваш метод у меня сейчас все "просто" при открытии нового "чилда" после инициализации прописываю загрузку страницы в "Фрейм"
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290413
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

у тебя все страницы должны быть унаследованы от Page (шаблон для создания Silverlight Page), в этих страницах так же можно проводить навигацию через NavigationService чтобы открыть другую страницу но в том же фрейме.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290774
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, в один и тот-же Frame загружать научился.
Child_Window
Код: plaintext
<sdk:Frame HorizontalAlignment="Left" Name="frame" VerticalAlignment="Top" />
Кнопка на Main
Код: plaintext
1.
2.
3.
4.
5.
    private void button1_Click(object sender, RoutedEventArgs e)
        {
            Child_Window add = new Child_Window();
            add.Show();
        }
Child_Window.xaml.cs
Код: plaintext
1.
2.
3.
4.
5.
    public Child_Window()
        {
            InitializeComponent();
            this.frame.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.Relative));
        }
Кнопка на Child_Window
Грузим в тот-же Frame другую страницу
Код: plaintext
1.
2.
3.
4.
    private void button1_Click(object sender, RoutedEventArgs e)
        {
           this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));            
        }
но если я пытаюсь повесить на эту кнопку открытие другого Child'a
ChildWindow_1
Код: plaintext
1.
<sdk:Frame Height="100" HorizontalAlignment="Left" Margin="108,113,0,0" Name="frame1" VerticalAlignment="Top" Width="200" />
Кнопка на Child_Window грузим ChildWindow_1
Код: plaintext
1.
2.
3.
4.
5.
   private void button1_Click(object sender, RoutedEventArgs e)
        {
            ChildWindow_1 add_1 = new ChildWindow_1();
            add_1.Show();
        }

Код: plaintext
1.
2.
3.
4.
5.
   public ChildWindow_1()
        {
            InitializeComponent();
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
        }
Тут почему-то в ChildWindow_1 грузится (отображается) страница Page_add т.е. та которая была загружена в Child_Window.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290878
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эксперимент продолжается. Чего то я в этих Child'ах я не понимаю. Даже без
Код: plaintext
1.
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
при открытии ChildWindow_1 на ней отображается страница Page_add если вынести
Код: plaintext
1.
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
на кнопку то при нажатии страница Page_2 грузится на все Child'ы т.е. и в "Frame" и в "Frame1".
Ваш пример к сожалению почему-то не работает. При компиляции грузится пустая страница.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291135
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

после запуска если произошла ошибка, в IE в левом нижнем углу будет восклицательный знак открываем там исключение, в FireFox нужно зайти в "Консоль ошибок" и поместить отображенное там исключение сюда, для дальнейшего разбора полетов.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291235
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После компиляции строка в браузере принимает вид
Код: plaintext
1.
file:///C:/Documents%20and%20Settings..../Bin/Debug/SilverlightApplication2TestPage.html
и все никаких ошибок. Что можете сказать по поводу предыдущего "вопроса". Где в проекте участвуют несколько Child'ов и в каждый из них нужно загрузить свою страницу. Или мне просто перестать "лохматить бабушку" и грузить страницы на один Child? Да, страницы я создаю следующим образом: Добавить>>Создать элемент>>Страница Silverlight. Это я к тому, может не тот элемент добавляю.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291259
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

1) "бабушку лохматить" действительно нужно прекратить, т.к. я описал в примере как за минимум телодвижений сделать открытие разных станиц в одном ChildWindow.
2) "и все никаких ошибок" такого быть не может, либо у тебя стоят всякие блокировщики NoScript, AdBlock, либо нужно заглянуть в "консоль ошибок", у меня ведь работает.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291317
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 Вот именно, Вы описали как загрузить разные страницы в один и тот же Child, у меня это тоже получилось выше я это описал, а вот в разные Child'ы загрузить страницы у меня не получилось.
2. Сейчас пытаюсь разобраться у меня мои проекты компилятся и грузятся с строкой в браузере http://localhost:2042/SilverlightApplication6TestPage.aspx
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291373
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

для легковесности проекта я не стал в него добавлять ASP.NET Web Application.
у меня все работает

/me никак не поймет, зачем создавать туеву хучу ChildWindow, если можно обойтись одним?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291474
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лады, будем использовать один чилд. Так наверное правильней, а "красоту" наведем с помощью принудительного изменения размера. Такой подход будет правильней? Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37291491
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ну да, создай дополнительные методы в этом ChildWindow чтобы управлять им и все.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37294087
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть кнопки на Page_add
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
      private void button1_Click_1(object sender, RoutedEventArgs e)
        {
            Child_Window chWindow = new Child_Window();
            chWindow.ShowPage( 1 );
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            Child_Window chWindow = new Child_Window();
            chWindow.ShowPage( 0 );
        }
Код ShowPage в Child_Window
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    public void ShowPage(int Page_Flag)
        {
            if (Page_Flag ==  1 )
            {
                button1.Content = "add"; //Флаг для отладки
                this.frame.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
                this.Show();
            }
            else
            {
               button1.Content = "2";//Флаг для отладки
               this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.RelativeOrAbsolute));
               this.Show();
            }
        }
Вопрос в следующим почему при нажатии на кнопки появляется новый "чилд" по верх того и в "фрейм" страница не загружается хотя название кнопок на "чилде" меняется. Если подгрузку страниц возложить на кнопки находящиеся на "чилде"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
      private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.RelativeOrAbsolute));
        }

           private void button1_Click(object sender, RoutedEventArgs e)
        {

            this.frame.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.RelativeOrAbsolute));
       }
все работает.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37294580
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

объяви NavigationFailed у фрейма и кинь сообщение ошибки, потом анализируй.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37295243
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Федор, а зачем вам SL, если вы собираетесь лапшекодить в стиле winforms?
Какой в этом смысл, если вы ничего не выигрываете?
Это не SL - это полный ужас. Без понимания особенностей SL и нормального framework'a,
перетаскить контролы и прикручивать к ним обработчики событий лучше в winforms.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37295630
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
уТКаChek_Fedor, объяви NavigationFailed у фрейма и кинь сообщение ошибки, потом анализируй.
К чему эта глупость? Нормальные люди свои логгеры пишут. http://csharp-source.net/open-source/logging
логгер прикручивается к фрейму и через mvvm дергается.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37295682
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Похоже, еще один обиженный на жизнь codeplex'овский маратель под мои ником шакалит.
Лучше бы mvvm осилил, чем пакостить.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37295689
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Хотя по стилю - Mуслим. уTKa, извини, если не ты
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37295725
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i,

а смысл мне самому себе отвечать, да еще такой ссылкой в которой нет ни слова про Silverlight?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296198
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iФедор, а зачем вам SL, если вы собираетесь лапшекодить в стиле winforms?
Какой в этом смысл, если вы ничего не выигрываете?
Это не SL - это полный ужас. Без понимания особенностей SL и нормального framework'a,
перетаскить контролы и прикручивать к ним обработчики событий лучше в winforms.
Это не мне а моему начальству, я бы лучше всю эту "фигню" на Delphi написал бы уже давно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296227
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКаChek_Fedor,

объяви NavigationFailed у фрейма и кинь сообщение ошибки, потом анализируй.
А какие собственно ошибки, меня просто не устраивает то, что при загрузки страницы в фрейм подгрузка новой страницы идет не в тот-же Child, а в новый и это только в том случае если используется код
Код: plaintext
1.
2.
 Child_Window chWindow = new Child_Window();
 chWindow.ShowPage( 1 ); //код смотрите выше
но если использовать кнопки принадлежащие Child'у,
Код: plaintext
1.
2.
3.
4.
    private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.RelativeOrAbsolute));
        }
то все в порядке.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296631
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз не получается у меня сделать по нормальному так пойдем по другому пути. Подскажите как программно из подгружаемой во frame страницы "нажать" на кнопку находящейся на Child.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296685
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вы окно пробовали сдвигать?

ИМХО окно открывается, но накладывается на ранее открытое и происходит впечатление, что открывается в том же окне.

интересно будет услышать как вы открываете сразу два ChildWindow и видите, что нужный контент грузится сразу в два окна?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296832
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Побывал. В том случае если пытаюсь подгрузить страницы с кнопок расположенных на Child работает так как мне нужно, но если я хочу загрузить в Frame c кнопки подгружаемой страницы то открывается новый Child.
Page_1
Код: plaintext
1.
2.
3.
4.
5.
   private void button1_Click(object sender, RoutedEventArgs e)
        {
            Child_Window chWindow = new Child_Window();
            chWindow.ShowPage("/Plan/Page_2.xaml");
        }
Page_2
Код: plaintext
1.
2.
3.
4.
5.
    private void button1_Click(object sender, RoutedEventArgs e)
        {
            Child_Window chWindow = new Child_Window();
            chWindow.ShowPage("/Plan/Page_1.xaml");
        }
Child_Window
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
     public void ShowPage(string page)
        {
            if (string.IsNullOrWhiteSpace(page))
                return;

            this.frame.Navigate(new Uri(page, UriKind.RelativeOrAbsolute));
            this.Show();
        }
    

           public void Button_Click(object sender, RoutedEventArgs e)
        {
            this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.RelativeOrAbsolute));
        }

           private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            this.frame.Navigate(new Uri("/Plan/Page_1.xaml", UriKind.RelativeOrAbsolute));
        }
MainPage
Код: plaintext
1.
2.
3.
4.
5.
   private void Button_Click(object sender, RoutedEventArgs e)
        {
            Child_Window chWindow = new Child_Window();
            chWindow.Show();
        }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296953
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот мой горе тестовый проект http://depositfiles.com/files/mwrouezjs
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37296973
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

если нужно в одном окне открывать, то создай один экземпляр ChildWindow в целевой странице и в кнопках оставь код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ChildWindowControl childWindow = new ChildWindowControl();
...
button1_click
childWindow.ShowPage(0);
...
button2_click
childWindow.ShowPage(1);
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297026
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста можно поподробней. Я не пойму в чем отличие моего проекта от предложенного Вами.ShowPage(0) что это?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297354
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного поясню, кнопки на "чилде" меня не устраивают, поэтому переход на те или иные подгружаемые страницы должен происходить с кнопок находящихся на подгружаемых страниц . Или если можно то как "сказать" кнопки на странице чтобы она свой клик "адресовала" кнопки на child'e. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297555
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

чем дальше в лес, тем больше Сусанин не понимал куда идет...

ты можешь объяснить по человечески: что конкретно требуется ?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297625
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы же меня с самого начала "вели". Требуется из всего выше изложенного (на данный момент) возможность в Child загружать страницы не из "чилда", а из самих страниц. Вы смотрели мое "тестовое" задание в этом строчкой выше все описано. Задавайте вопросы, не с самого же начала начинать.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297644
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ну так выше я уже ответил!

диктую ключи:
берете ту страницу, в которой нужно открывать чилд по нажатию каких-то кнопок, создаете там единственный экземпляр ChildWindow
Код: plaintext
1.
ChildWindowControl childWindow = new ChildWindowControl();

и в событиях указанных выше кнопок пишите:
Код: plaintext
1.
2.
3.
4.
buttonAdd_click
childWindow.ShowPage(0);
...
buttonDelete_click
childWindow.ShowPage(1);
все, куда еще проще ну прям не знаю.

сам перешел с Делфей, тут все тоже самое, идеология языка все того-же автора, что делал Делфи...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297813
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас уже поздно, но все же напишу. Есть форма назовем ее MainWorm там кнопка открывающая Child, т.к. у меня не получилось работать с Cildom'i Вы посоветовали воткнуть в "фрейм" Page т.к. там есть методы которых мне не хватала в Chil'де. Вся "вигня" (кнопочки, минюшки и т.п.) прописываются в подгружаемых в Frame страницах, а не в Cild'e. Вот тут у меня и начинаются проблемы. То что лежит на Child'е (кнопки) работают, а те что на подгружаемых страницах нет. Я накидал самый простой пример, посмотрите, если нет возможности скачать киньте mail я туда залью. Вроде делаю все так как Вы сказали, но что-то не получается. Если это сделать не "возможно" так буду искать другие пути. Спасибо, многим помогли.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297882
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

пример не вижу, мыло в профиле.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298160
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинул на ящик также можно скачать с http://depositfiles.com/files/mwrouezjs
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298458
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вывод простой:
вам лучше пойти почитать книгу, иначе так и будете сидеть на форуме и спрашивать.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298515
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. На счет книг, не посоветуете (желательно на русском).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298596
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

тынц
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37300034
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняйте, может не сюда пишу. А есть возможность из подгружаемой Page где отсутствует
Код: plaintext
1.
 Child_Window_Plan Plan = new Child_Window_Plan();
вызвать функцию из Child.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37300331
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

да можно, через VisualTreeHelper
Код: 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.
public class TreeHelper
    {
        public static T FindVisualParent<T>(UIElement element) where T : UIElement
        {
            UIElement parent = element;

            while (parent != null)
            {
                T correctlyTyped = parent as T;
                if (correctlyTyped != null)
                {
                    return correctlyTyped;
                }
                parent = VisualTreeHelper.GetParent(parent) as UIElement;
            }

            return null;
        }

        public static T FindChild<T>(DependencyObject parent) where T : DependencyObject
        {
            if (parent == null)
                return null;

            T childElement = null;

            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);

            for (int i = 0; i < childrenCount; i++)
            {
                var child = VisualTreeHelper.GetChild(parent, i);
                T childType = child as T; if (childType == null)
                {
                    childElement = FindChild<T>(child); if (childElement != null) break;
                }
                else
                {
                    childElement = (T)child; break;
                }
            }

            return childElement;
        }
    }


использование
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();

if(childWindow != null)
{
  // TODO
}

...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301062
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понял
Код: plaintext
1.
2.
3.
4.
public class TreeHelper
{
.......
}
добавляем в .cs ChildWindow, а
Код: plaintext
1.
2.
3.
4.
5.
 Child_Window_Plan child_Window = Child_Window_Plan.TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (child_Window != null)
            {
             child_Window.ShowPage();
            }
прописываем в подгружаемой страницы и например вешаем на "клик_кнопки" при нажатии должна выполнится процедура ShowPage(); из Child_Window_Plan. только вот что-то не выполняется и ругается на
Код: plaintext
 throw new NotImplementedException();
"Метод или операция не реализованы".
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301255
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

зачем его добавлять в ChildWindow?

это Хелпер который позволяет из любой части места программы обратиться к классу, положите его в корень проекта, скажем в папку Helpers и вызывайте его на тех страницах, где вам нужно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301386
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. создать файл .cs кинуть туда "класс" и просто вызвать как сказали Вы
Код: plaintext
1.
2.
3.
4.
5.
Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();

if(childWindow != null)
{
  // TODO
}
А. что есть разница в том где он будет находится? Просто смущает та ошибка. Ну, да ладно завтра проверю. Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301393
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

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

да.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302514
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что делать с
Код: plaintext
1.
2.
3.
4.
    internal static Child_Window_Plan FindVisualParent<T1>()
            {
                throw new NotImplementedException();
            }
т.е.
FindVisualParent не найден
Код: plaintext
Child_Window_Plan child_Window = TreeHelper.FindVisualParent<Child_Window_Plan>();
куда отнести
Код: plaintext
1.
2.
3.
4.
5.
    
internal static Child_Window_Plan FindVisualParent<T1>()
            {
                throw new NotImplementedException();
            }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302628
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс. Точнее ругается на
Код: plaintext
1.
2.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (childWindow != null)
Ошибка 1 Ни одна из перегрузок метода "FindVisualParent" не принимает "0" аргументов
И предлагает создать заглушку
Что я и проделал изначально
Код: plaintext
1.
2.
3.
4.
    internal static Plan.Child_Window_Plan FindVisualParent<T1>()
        {
            throw new NotImplementedException();
        }
Которая судя по всему не нужна
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302754
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

не нужна конечно, в аргумент вы передавайте текущий объект, тем самым вы этому небольшому алгоритму говорите "откуда начать поиск необходимого элемента".
Так... Child_Window_Plan является дочерним окном находящемся в папке Plan там-же находится Page_Window_Plan.xaml.cs в коде которого я и пытаюсь проделать "на кнопке"
Код: plaintext
1.
2.
3.
4.
5.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (childWindow != null)
            {
             childWindow.ShowPage();
            }
т.е. вызвать функцию ShowPage
Код: plaintext
1.
ShowPage(); //Функция из Child_Window_Plan 
В чем ошибка?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302976
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

блин да что-ж такое -то, вы хотите без опыта с первых дней в технологии написать Enterprise приложение?

не получится!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302994
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ругайтесь, я пытаюсь совместить приятное с полезным (изучение+написание программы). Я сам прекрасно понимаю, что очень многого я пока не знаю. Все это для меня пока новое (и смотрю я на это как .... на новые ворота). Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37303005
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам бы книгу написать, собрав туда все то о чем Вы здесь "говорите" с примерами. Тогда такие как я не умчали бы вас и форум глупыми вопросами со всеми вытекающими от сюда.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37303127
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

:)

так это все равно, что описывать случаи жизни, ситуации могут быть разными, да и описать все не получится, что-то забыто, где-то на автомате идешь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37304227
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть возможность изменить размер поля
Код: plaintext
1.
2.
[Display(Name = "Код специальности")]
        public string name { get; set; }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37304696
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

раскройте вопрос, и желательно ставить в конце знак препинания, иначе кажется, что вы просто говорите, не спрашивая и не восклицая.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #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
Добавление новых строк в таблицу
    #37320063
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

1) ну это уже совсем ламерский вопрос, открывайте книгу и читайте;
2) не знаю о каком "окне" вы говорите;
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37320185
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. C ComboBox перепробовал почти все свойства: SelectionBoxItem написано (Получает элемент отображаемый в поле выбора), SelectedItem и т.д. во всех случаях возвращает номер текущей записи. Написано аналог ComboBox.Text= ComboBox.SelectedValue.
2. Окно стандартное, MainPage. Да тут просто что-то типа RibbonStatusBarControl или что-то наподобие для отображения инфы (названия окна).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37320223
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брр... Что-то я по второму вопросу загнул... Можно конечно создать Page и перекинуть туда все, что было в MainPage. Появится свойство Title. Останется только программно поменять название при закрытии Childa.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37320690
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста назначение кода (пытаюсь прикрутить редактирование)
при переходе на страницу выполняется код
Код: plaintext
1.
 this.z_plan_name_Edit.LoadDDSByNavigationContext(this.NavigationContext);
в том случае если в DomainService
Код: plaintext
1.
2.
3.
4.
     public IQueryable<z_plan_name> GetZ_plan_name_Edit(int id)
        {
            return this.ObjectContext.z_plan_name;
        }

загружается первая запись. Не разобрался с Вашим кодом переделанным под мои "названия" , что он делает
Код: plaintext
1.
2.
3.
4.
     public IQueryable<z_plan_name> GetZ_plan_name_Edit(int id)
        {
            return this.ObjectContext.z_plan_name.Include("name").Where(r => r.id == id);;
        }
name у Вас там "City" я так предположил что это название столбца...
при попытке выполнения с последним вариантом вываливается ошибка
Код: plaintext
1.
The GetZ_plan_name_Edit method does not have arguments that match the QueryParameters collection.
Как ему "сказать" с какой строкой работать? Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37321720
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

читаем

на русском материала мало, поэтому нужно искать инфу на англ. сайтах.

Google в помощь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37322180
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему не могу передать параметры, т.е. на вашем примере
Код: plaintext
1.
2.
3.
4.
   public IQueryable<Customer> GetCustomerById(int Id)
        {
            return this.ObjectContext.Customer.Where(r => r.Id == Id);
        }

Код: plaintext
1.
       <navigationCore:UriMapping Uri="Customer/Edit/{Id}" MappedUri="/Views/fCustomer/Edit.xaml?Id={Id}"/>
Если убрать {Id} в Uri="Customer/Edit/{Id} то ошибка при переходе все бы хорошо но я при переходе использую
Код: plaintext
1.
  NavigationService.Navigate(new Uri("/Plan/Page_Edit.xaml?Id={Id}", UriKind.RelativeOrAbsolute));
Как-бы прописать в моем случае "аналог" Uri="Customer/Edit/{Id}.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37322476
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

откройте книгу и начните читать, глава Navigation Framework !
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37323298
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал, посмотрел видео. Замутил такую фигню
Код: plaintext
1.
 <Button Content="Button" Name="button1" Click="button1_Click" Tag="Plan/Page_add.xaml"/>
button1_Click
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
     ChildWindow childWindow = TreeHelper.FindVisualParent<ChildWindow>(this);
            if (childWindow != null)
            {
                childWindow.Width =  700 ;
                childWindow.Height =  310 ;
                Button navigationbutton = sender as Button;
                String goToPage = navigationbutton.Tag.ToString();
                NavigationService.Navigate(new Uri(goToPage, UriKind.Relative));
            }
Так работает, но если пытаюсь использовать Uri
Код: plaintext
1.
2.
3.
 <navigationCore:UriMapper x:Key="AppURIMapper">
        <navigationCore:UriMapping Uri="Plan/Page_add" MappedUri="/Plan/Page_add.xaml"/>
 </navigationCore:UriMapper>
Код: plaintext
1.
 <Button Content="Button" Name="button1" Click="button1_Click" Tag="Plan/Page_add.xaml"/>
ругается что "Не удается загрузить контент для URI". Что я упустил?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37323347
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКа,

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

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

вам еще памятник не поставили?
Поставим в г.Тамбове вместо памятника Сталину.
уТКаа памятники разве не по смерти ставят?

Сейчас и живым ставят...
Забыл указать в Frame ссылку на ресурс UriMapper="..."
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37324521
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorenigmaticуТКа,

вам еще памятник не поставили?
Поставим в г.Тамбове вместо памятника Сталину.
уТКаа памятники разве не по смерти ставят?

Сейчас и живым ставят...

ни в коем случае не надо, я вам даже спасибо скажу и поклонюсь в коленях!
я - собрался жить долго и вырастить своё "lion pride", которое с гордостью меню назовет Отец!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37324725
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКа,

ы, до здравствует пятница и много пива
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37326266
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот блин наставьте меня на путь истинный. Как получить значение столбца выделенной строки в GridControl (DevExpressovs'ий) хотя можно и просто с Grido'м хоть что-то от чего оттолкнуться. Конструкция
Код: plaintext
1.
2.
3.
4.
5.
 GridCellMenuInfo menuInfo = Control_Plan.GridMenu.MenuInfo as GridCellMenuInfo;
                if (menuInfo != null && menuInfo.Row != null)
                {
                    menuInfo.Row.Row.ToString();//точка остановка
                }
При добавлении точки остановки получаем menuInfo.Row.Row{z_plan_name:29} где 29 это реальный ID выделенной записи в таблице z_plan_name. Как бы его оттуда достать?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37326320
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

к счастью DevExpress не пользуюсь, но если я правильно понял, то вот это
авторmenuInfo.Row.Row
имеет тип object, следовательно его можно кастануть в требуемый объект
Код: plaintext
1.
z_plan_name selectedRecord = menuInfo.Row.Row as z_plan_name;
и дальше делать чего нужно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37327204
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. То что нужно.
Получилось конструкция
Код: plaintext
1.
2.
   z_plan_name ID_Plan = menuInfo.Row.Row as z_plan_name;
                    ID = ID_Plan.id;
где id наименование столбца значение которого мы получаем.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37327746
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, пока мало так сказать искал решение на данный вопрос (не все перепробовал)
Была некая "конструкция" состоящая из ComboBox и TextBlock
Код: plaintext
1.
2.
3.
4.
5.
<ComboBox x:Name="User_ComboBox" ItemsSource="{Binding Mode=OneWay, ElementName=z_userDomainDataSource, Path=Data}" 
             DisplayMemberPath="UserName" Margin="167,29,12,23" Grid.RowSpan="2" />
<TextBlock Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3,7,0,0" 
                   Name="User_Text_Pass" Text="{Binding Path=Data.User, Mode=OneWay, ElementName=z_userDomainDataSource}" 
                   VerticalAlignment="Top" Visibility="Collapsed" />
Которая работала (вроде) как следующим образом при выборе в ComboBox нужного пользователя TextBlock заполнялся значением User данного пользователя автоматически.
Сейчас заменил ComboBox на

Код: plaintext
1.
2.
3.
<TextBox HorizontalAlignment="Left" Margin="105,12,0,0" Name="User_TextEdit" 
                 VerticalAlignment="Top" Width="295" Height="23"  
                 Text = "{Binding Path=Data.UserName, Mode=OneWay, ElementName=z_userDomainDataSource}"/>
Как бы "извратится", что бы при наборе пользователя я мог получить его поле User пусть даже при нажатии на какой либо Button?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37327910
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ну это уж самому нужно придумать, все же логика Вашего приложения.
проверяйте в коде, создайте хелпер для этого.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37328206
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКаChek_Fedor,
ну это уж самому нужно придумать, все же логика Вашего приложения.
проверяйте в коде, создайте хелпер для этого.
Под словом "извратится" я имел в виду получить id нужной записи.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37328264
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять как работать с классами, объектами
Код: plaintext
1.
z_userDomainDataSource.Data.ToString(); //Точка останова
Посмотрел что-там "лежит" у Data вроде как есть CurrentItem. Это во время отладки. Как бы добраться до значений?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37328396
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

кастуйте!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37328496
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то сложно с восприятием... Что значит "кастуйте"? Раз уж начал писать так еще вопросик.
Код: plaintext
1.
2.
3.
4.
<toolkit:DataField Label="Имя" FontWeight="Bold" >
                            <TextBox Name="Name_1" Text="{Binding Path=Pass, Mode=TwoWay}" 
                                     FontWeight="Normal" />
                        </toolkit:DataField>
Почему не могу в .cs "добраться" до свойств (точнее до самого TextBox) на Name_1.xxx ругается. Возможно ли это?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37328805
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

10883005 - кастуйте!

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

в гугле вводите строку:
авторria services validation
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37330606
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли возможность передать значение переменной в DomainService.cs из другого файла проекта. Пытался объявить ее в DomainService.cs
Код: plaintext
1.
public static int combo_index
в другом файле она не видна.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37330671
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

понятия не имею, что вам нужно, но в гугле наберите вот это:
авторria services shared
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37330950
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В странице Page1 присваиваю значение переменной combo_index=1 далее пытаюсь передать ее в файл DomainServise.cs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    public void InsertZ_speciality(z_speciality z_speciality)
        {
            if ((z_speciality.EntityState != EntityState.Detached))
            {
                this.ObjectContext.ObjectStateManager.ChangeObjectState(z_speciality, EntityState.Added);
            }
            else
            {
                
                z_speciality.edit_date = DateTime.Parse(DateTime.Now.ToString
                                        ("yyyy.MM.dd HH:mm", new CultureInfo("ru-RU")) + "\n");
                z_speciality.combo_index=combo_index;//для заполнения поля combo_index в таблице z_speciality расположенной на MSSQL-Server
                z_speciality.delete = "notdelete";
                this.ObjectContext.z_speciality.AddObject(z_speciality);
            }
        }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37331346
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Facepalm!

думаю на этом моей помощи хватит, вы такую хрень делаете, что я прям не знаю, к тому же упорно игнорируете советы "Читать книгу", поэтому на этом посте прощаюсь с вами, мне очень жаль, вы не хотите сами себе помочь.

Возьмите хороший совет на вооружение:
"Читайте книги!"
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37331992
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо и на этом.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37346014
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова Вас побеспокою. Не подскажите как добавить запись в связанные таблицы по ID. В моем случае это rb_struc и z_institute
z_institute содержит поля, например, "s_name", а rb_struc "name".
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<toolkit:DataForm x:Name="DFAdd_Inst"
                           Style="{StaticResource DataFormStyle_inst}" >
            <toolkit:DataForm.NewItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <toolkit:DataField Label="Наименование" FontWeight="Bold" Description="Введите наименование института">
                            <TextBox Text="{Binding Path=name, Mode=TwoWay}" FontWeight="Normal" />
                        </toolkit:DataField>
                       <toolkit:DataField Label="Сокащение" FontWeight="Bold" Description="Сокращение наименования института">
                            <TextBox Text="{Binding Path=s_name, Mode=TwoWay}" FontWeight="Normal" />
                        </toolkit:DataField>
                    </StackPanel>
                </DataTemplate>
            </toolkit:DataForm.NewItemTemplate>
        </toolkit:DataForm>
К сожалению "ляпа" типа
Код: plaintext
1.
2.
3.
4.
            this.newRecord = new rb_struc();
            this.DFAdd_Inst.CurrentItem = this.newRecord;
            this.newRecord_i = new z_institute();
            this.DFAdd_Inst.CurrentItem = this.newRecord_i;
не работает (да и не должна). Посему вопрос есть ли способ добавить записи в связанные таблицы заполняя одну форму DataForm?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37346226
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

блин нафиша ты с этой технологией связался? уже 10 страниц не можешь добавить строчку куда то :(
или технология гоуно или ты уж софсем пилох
Технология нормуль, только периодически придумывают все новые задачи и приходится все переделывать. Мне нафик не нужно связывать между собой часть таблиц особенно те без которых могу обойтись, но сказали надо.
В примере "SLCBDDSApp" есть
Код: plaintext
1.
2.
<toolkit:DataField Grid.Column="2" Label="City:">
                                            <ComboBox x:Name="cbCity" ItemsSource="{Binding ElementName=cbddsCity, Path=Data}"  DisplayMemberPath="Name" ex:ComboBox.Mode="AsyncEager"/>
                                        </toolkit:DataField>
Есть ли возможность заменить его на TextBox чтобы функционал проги остался прежним т.е. в City добавлялось значение в поле Name.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37348102
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

link
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37348405
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, что-то я "залип" а в cs коде не возможно получить введенное значение в TextBox?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37348543
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно конечно просто добавить
Код: plaintext
1.
2.
3.
 <toolkit:DataField Label="Last name">
       <TextBox Text="{Binding Path=City.Name, Mode=TwoWay}"/>
 </toolkit:DataField>
Но мне кажется это не правильно хотя и работает :(
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37349456
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы уж извините, что валю все в одну кучу, наверное надо открыть новую тему, но боюсь забанят.
Попробовал обратится к свойству TextBox расположенного в DataForm
Код: plaintext
1.
var tbVolume = DFAdd_Inst.FindNameInContent("Boxshort");//Boxshort-его имя
поставил точку останова посмотрел в "раскрывающимся" списке есть свойство Text но вот получить его я не могу как-бы его оттуда взять. Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37349653
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам написал, сам и отвечу.
Код: plaintext
1.
2.
 var tbVolume = DFAdd_Inst.FindNameInContent("Boxshort") as TextBox;
 var e = tbVolume.Text;
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37349881
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorВы уж извините, что валю все в одну кучу, наверное надо открыть новую тему, но боюсь забанят.

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


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