Как я заказываю результат Группы в Linq?

Предполагая, что edit-control является потомком класса, CView полученного, вам лучше поместить обработчик OnUpdateUI() в класс представления, а не в документ один.

Например, если класс представления CFormView -приведен (диалоговое окно), вы можете просто написать:

void CMyView::OnUpdateTextColor(CCmdUI *pCmdUI)
{
    pCmdUI->Enable(GetFocus()==GetDlgItem(IDC_MYEDIT));
}

Этот фрагмент кода работает как для приложений SDI, так и для MDI.

Если класс представления не получен CFormView (поле редактирования было создано программно), приведенный выше код можно немного изменить, и вместо вызова GetDlgItem() вам следует перечислить список детей представления (выполнить поиск по вашему редактированию). Ящик есть).

Если единственной причиной переопределения элемента управления редактирования было получение EN_SET/KILLFOCUS сообщений, извините, это не стоило усилий, так как вы могли просто захватить их в коде представления. Тогда карта сообщений представления будет содержать:

ON_EN_SETFOCUS(IDC_MYEDIT, &CMyView::OnEnSetfocusMyEdit)
ON_EN_KILLFOCUS(IDC_MYEDIT, &CMyView::OnEnKillfocusMyEdit)

и код класса представления:

void CMyView::OnEnSetfocusMyEdit()
{
    // TODO: Add your control notification handler code here
}


void CMyView::OnEnKillfocusMyEdit()
{
    // TODO: Add your control notification handler code here
}

Они генерируются мастером. Перейдите на вкладку Class View, выберите свой класс и затем перейдите на страницу Events; в поддереве Controls вы можете найти свой элемент управления и добавить обработчики для его событий. Но все это не нужно, так как вы можете просто использовать GetFocus()/GetDlgItem(), как предложено выше.

И как говорили другие члены, вы можете получить доступ к классу документа из любого его представления, вызвав функцию GetDocument().

40
задан Pure.Krome 16 April 2009 в 07:48
поделиться

2 ответа

Просто добавьте предложение orderby; -)

from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
let score = g.Sum(x => x.Score)
orderby score descending
select new { UserId = g.Key, Score = score };
65
ответ дан Dan Revell 27 November 2019 в 01:33
поделиться
var results =
 (from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
select new { UserId = g.Key, Score = g.Sum(x => x.Score) })
.OrderByDescending(p=>p.Score);

Надеюсь, это решит вашу проблему, проще, чем верх один;)

Приветствия

13
ответ дан Prashant Cholachagudda 27 November 2019 в 01:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: