powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - обработка ввода, что посоветовал Скотт Гу
9 сообщений из 9, страница 1 из 1
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35125832
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! В продолжении темы . Дан был совет почитать Скотта Гу Что же он предлогает? В Step 5 Adding Nice Error Handling in our UI Tier он предлагает в DataContext добавить OnValidate

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
partial public class Prodct {
       partial void OnValidate(){
           if (условие не выполнено)
                         throw new Exception("Поле такое то не заполнено!")

         } 
}
Далее в экранной форме редактирования поймать это исключение! А где ErrorProvider и прочие красоты? Как указать какой контрол не заполнен?
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35126990
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты плохо понял, во-первых, не в DataContext, а в класс Entity, а во-вторых, кроме базового Exception существует много других вариантов. Можешь хоть свой написать и передавать там какую угодно информацию
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127249
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыты плохо понял, во-первых, не в DataContext, а в класс Entity, а во-вторых, кроме базового Exception существует много других вариантов. Можешь хоть свой написать и передавать там какую угодно информацию
Уважаемый ЗЫ! Конечно я упростил, надо

Код: plaintext
1.
2.
3.
 public class EМояТаблица_Error : System.ApplicationException
    {
        public EМояТаблица_Error(string msg) : base(msg) { }
    } 
Но дело от этого не меняется! Нужно что бы ErrorProvider "подсветили" нужные контролы! Это вролдже и для Web было.
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127282
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно можно нарисовать свой класс
Код: 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.
47.
48.
49.
 #region Класс для ошибок
    public class column
    {
        public string ColumnName { get; set; }
        public string ColumnError { get; set; }
        public override string ToString()
        {
            return ColumnName;
        }

    }
    public class Columns : List<column>
    {
        public string GetColumnError(string ColumnName)
        {
            column col = this[ColumnName];
            if (col != null)
                return col.ColumnError;
            return String.Empty;
        }

        public void ClearErrors()
        {

            foreach (column item in this)
            {
                item.ColumnError = String.Empty;
            }
        }
        public column this[string ColumnName]
        {
            get
            {

                foreach (column col in this)
                    if (col.ColumnName.Contains(ColumnName))
                        return col;
                return null;
            }
        }

        internal void SetError(string ColumnName, string error_text)
        {
            column col = this[ColumnName];
            if (col != null)
                col.ColumnError = error_text;
        }
    } 
    #endregion

Далее в DataContext
partial class МойDataContext
{
partial class МояТаблица
{
// Приделываем колонки с ошибками
public Columns fcolumns = new Columns {
new column{ColumnName ="id"},
new column{ColumnName = "date"},
new column{ColumnName = "descr"},
...................

};
}
}
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127353
))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
))
Гость
какая на обработка ввода? где у него "Поле такое то не заполнено!"? кто такой Скотта Гу??
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127392
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))какая на обработка ввода? где у него "Поле такое то не заполнено!"? кто такой Скотта Гу??
Разговор про winapp. Для показа пользователю ошибок ввода используется
ErrorProvider presents a simple mechanism for indicating to the end user that a control on a form has an error associated with it. If an error description string is specified for the control, an icon appears next to the control. The icon flashes in the manner specified by BlinkStyle, at the rate specified by BlinkRate. When the mouse hovers over the icon, a ToolTip appears showing the error description string.

Typically, you use ErrorProvider in association with data-bound controls. When using ErrorProvider with data-bound controls, you must specify the ContainerControl, either in the constructor or by setting the ContainerControl property.
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127451
))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
))
Гость
да мне насрать на ErrorProvider. по ссылке написано бизнес-правило, которому насрать какие у скотта поля не заполнены, и есть ли такие поля в природе или на форме.
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35127561
))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
))
Гость
чуть не забыл с кем имею... БИЗНЕС-ПРАВИЛО , дерево "этот объект нельзя изменять по вторникам". где обработка ввода, где поля?
...
Рейтинг: 0 / 0
LINQ - обработка ввода, что посоветовал Скотт Гу
    #35225236
Статья на эту тему. Основная идея класс таблиц наследовать от базового с обработкой ошибок!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - обработка ввода, что посоветовал Скотт Гу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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