powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сложить два значаений которые находятся в переменных типа object.
9 сообщений из 34, страница 2 из 2
Сложить два значаений которые находятся в переменных типа object.
    #39191462
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2dmitrybvCat2,

Задача, создать агрегирующие функции для столбцов грида и вывести результат в футере.
Зачем создавать, если есть готовые?
ещё скажи что имеет смысл использовать типизированный источник данных
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191572
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ИзопропилCat2пропущено...

Зачем создавать, если есть готовые?
ещё скажи что имеет смысл использовать типизированный источник данных
А в Entity Framework нет таких? Бедняжки
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191732
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Изопропилпропущено...

ещё скажи что имеет смысл использовать типизированный источник данных
А в Entity Framework нет таких? Бедняжки
А это тут при чём? В качестве источника может что угодно выступать.

Задача расширить функционал компонента без привязки к источнику.
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191816
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skyANACat2пропущено...

А в Entity Framework нет таких? Бедняжки
А это тут при чём? В качестве источника может что угодно выступать.

Задача расширить функционал компонента без привязки к источнику.
Не лучшая идея, так как DataGridView наследуется ОЧЕНЬ плохо.

Если уж на то пошло, то лучше использовать идею

L.OtujktdПреобразoвать в строку и использовать TryParse

Так как свойство ячейки FormatedValue и так является строкой.
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191856
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ качестве источника может что угодно выступать.
у колонки тип то есть? или эксель внатуре?
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191868
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2skyANAпропущено...

А это тут при чём? В качестве источника может что угодно выступать.

Задача расширить функционал компонента без привязки к источнику.
Не лучшая идея, так как DataGridView наследуется ОЧЕНЬ плохо.
Это как: наследуется ОЧЕНЬ плохо? :)
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191869
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmitrybvCat2,

Задача, создать агрегирующие функции для столбцов грида и вывести результат в футере.
Я в своё время сделал так:

Код: c#
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.
/// <summary>
/// Определяет сумму значений в колонке
/// </summary>
/// <param name="columnIndex">Индекс колонки</param>
/// <param name="selectedRowOnly">
/// Признак того, что необходимо учитывать только выделенные строки.
/// Если выделенных строк нет, то возвращается сумма по всем строкам.
/// </param>
public virtual decimal GetColumnSum(string columnIndex, bool selectedRowOnly)
{
    Type dataType = GetColumnType(columnIndex);

    if (dataType == typeof(Int16) || dataType == typeof(Int32) || dataType == typeof(Int64) ||
        dataType == typeof(Decimal) || dataType == typeof(Double) || dataType == typeof(Single))
    {
        int selectedRowCount = 0;
        decimal selectedRowSum = 0m;
        decimal totalRowSum = 0m;
		
        for (int rowIndex = 0; rowIndex < GetRowCount(); rowIndex++)
        {
            object value = GetCellValue(columnIndex, rowIndex);
            decimal valueAsDecimal = value == null ? 0m : Convert.ToDecimal(value);
			
            if (selectedRowOnly && IsSelected(rowIndex))
            {        
                selectedRowSum += valueAsDecimal;
                selectedRowCount++;
            }
			
            totalRowSum += valueAsDecimal;
        }
		
        return selectedRowOnly && selectedRowCount > 0 ? selectedRowSum : totalRowSum;
    }
	
    return 0m;
}


Мне хватило.
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39191885
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skyANACat2пропущено...

Не лучшая идея, так как DataGridView наследуется ОЧЕНЬ плохо.
Это как: наследуется ОЧЕНЬ плохо? :)

Алексей КhVosttпропущено...

да какие проблемы, я не понимаю

Windows Forms Visual Inheritance В WinForms этой штукой лучше не пользоваться. Многие "сложные" контролы, вроде ToolStrip, DataGridView и т. п., визуальное наследование не поддерживают.
...
Рейтинг: 0 / 0
Сложить два значаений которые находятся в переменных типа object.
    #39192747
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmitrybvНадо преобразовать и сложить несколько значений
Код: c#
1.
2.
3.
4.
public static decimal Evaluate(object v1, object v2)
{
    return Convert.ToDecimal(new System.Data.DataTable().Compute(string.Format("{0} + {1}", v1, v2), string.Empty));
}
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сложить два значаений которые находятся в переменных типа object.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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