powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Количество записей в столбце RadGridView
3 сообщений из 3, страница 1 из 1
Количество записей в столбце RadGridView
    #38821357
wiktor591
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

как мне отобразить количество вложений (MailAttach) в Grid колонке для каждой записи <telerik:GridViewDataColumn DataMemberBinding="{Binding MailAttach.ID}" Header="количество" Width="Auto" DataFormatString="dd/MM/yy" TextAlignment="Center"/>

1) Наследовать класс Mail и добавить столбец в котором LINQ запросом считать количество вложений?

Или есть какой-то другой способ?

Заранее спасибо.

model ========
Имею класс Mail

Код: 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.
public partial class Mail
    {
        public Mail()
        {
            this.MailAttach = new HashSet<MailAttach>();
        }
    
        public int ID { get; set; }
        public string mFrom { get; set; }
        public string mFromName { get; set; }
        public string mTo { get; set; }
        public Nullable<int> mType { get; set; }
        public string mSubject { get; set; }
        public string mBody { get; set; }
        public Nullable<System.DateTime> mRecieved { get; set; }
        public Nullable<System.DateTime> mPostStamp { get; set; }
        public Nullable<int> mClaim_ID { get; set; }
        public Nullable<int> mMailServer { get; set; }
        public Nullable<bool> mProcessed { get; set; }
        public Nullable<bool> mIsHtml { get; set; }

        public virtual Claim Claim { get; set; }
        public virtual MailServer MailServer { get; set; }
        public virtual ICollection<MailAttach> MailAttach { get; set; }
    }



класс MailAttach

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public partial class MailAttach
    {
        public int ID { get; set; }
        public Nullable<int> atMail_ID { get; set; }
        public string atName { get; set; }
        public byte[] atData { get; set; }
        public Nullable<int> atType { get; set; }
        public string atContentId { get; set; }
    
        public virtual Mail Mail { get; set; }
    }



класс MailRepository

Код: 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.
class MailRepository
    {
        private static HDEntities db = new HDEntities();

        private static async Task<IEnumerable<Mail>> allMail()
        {
            var allMail = from x in db.Mail.AsEnumerable()
                          
                          select x;
            return allMail;
        }

        private static IEnumerable<Mail> _allMail;
        public static IEnumerable<Mail> aMail
        {
            get
            {
                if (_allMail == null)
                    _allMail = allMail().Result;
                return _allMail;
            }
            set
            {
                _allMail = value;
            }
        }
    }
    }



end model ========

класс MainWindowViewModel

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public class MainWindowViewModel : ViewModelBase
    {
        private IEnumerable<Mail> _allMail;
        public IEnumerable<Mail> allMail
        {
            get
            {
                if (_allMail == null)
                    _allMail = MailRepository.aMail;
                return _allMail;
            }
            set
            {
                _allMail = value;
                OnPropertyChanged("allClaim");
            }
        }
     }


end ViewModel ========

View ========

разметка

Код: xml
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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
<Window x:Class="iHelpDesk.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
                xmlns:local="clr-namespace:iHelpDesk.ViewModel"
                Title="MainWindow" Height="500" Width="800">
    
    <Window.DataContext>
        <local:MainWindowViewModel/>
    </Window.DataContext>
    
    <DockPanel>
        <Grid DockPanel.Dock="Top">
            <StackPanel Orientation="Horizontal" Height="90" Width="300">
                <telerik:RadButton Content="Button" Height="60" Width="60" CornerRadius="10" Margin="5"/>
                <telerik:RadButton Content="Button" Height="60" Width="60" CornerRadius="10" Margin="5"/>
                <telerik:RadButton Content="Button" Height="60" Width="60" CornerRadius="10" Margin="5"/>
                <telerik:RadButton Content="Button" Height="60" Width="60" CornerRadius="10" Margin="5"/>
            </StackPanel>
        </Grid>
        <Grid DockPanel.Dock="Left">
            <StackPanel Orientation="Vertical" Height="100" Width="150">
                
            </StackPanel>
        </Grid>
        <Grid>
        <telerik:RadTabControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <telerik:RadTabItem x:Name="tabClaims" Header="ЗАЯВКИ" Height="25" Width="100">
                <Grid>
                        <telerik:RadGridView HorizontalAlignment="Stretch"
                                             VerticalAlignment="Stretch"
                                             ItemsSource="{Binding allClaim}"
                                             AutoGenerateColumns="False"
                                             IsReadOnly="True"
                                             ShowGroupPanel="False"
                                             DataLoadMode="Asynchronous"
                                         >
                            <telerik:RadGridView.Columns>
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding ID}" Header="№" Width="Auto"/>
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding cCreated}" Header="СОЗДАНА" Width="Auto" DataFormatString="dd/MM/yy" TextAlignment="Center" />
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding MailServer.mMailBoxAlias}" Header="ЯЩИК" Width="Auto" TextAlignment="Center" />
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding cMailSubject}" Header="ТЕМА" Width="*" TextAlignment="Center" />
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding Category.catName}" Header="КАТЕГОРИЯ" Width="Auto" TextAlignment="Center" />
                            </telerik:RadGridView.Columns>
                        </telerik:RadGridView>

                </Grid>
            </telerik:RadTabItem>
            <telerik:RadTabItem x:Name="tabMails" Header="ПИСЬМА" Height="25" Width="100">
                    <Grid>
                        <DockPanel>
                            <telerik:RadGridView DockPanel.Dock="Left"
                                                 HorizontalAlignment="Stretch"
                                                 VerticalAlignment="Stretch"
                                                 ItemsSource="{Binding allMail}"
                                                 AutoGenerateColumns="False"
                                                 IsReadOnly="True"
                                                 ShowGroupPanel="False"
                                                 DataLoadMode="Asynchronous"
                                                 
                                                 >
                                <telerik:RadGridView.Columns>
                                <telerik:GridViewDataColumn DataMemberBinding="{Binding ID}" Header="№" Width="Auto"/>
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding MailAttach.ID}" Header="количество" Width="Auto" DataFormatString="dd/MM/yy" TextAlignment="Center"/>
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding MailServer.mMailBoxAlias}" Header="ЯЩИК" Width="Auto" TextAlignment="Center" />
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding cMailSubject}" Header="ТЕМА" Width="*" TextAlignment="Center" />
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Category.catName}" Header="КАТЕГОРИЯ" Width="Auto" TextAlignment="Center" />
                            </telerik:RadGridView.Columns>
                            </telerik:RadGridView>
                            <WebBrowser DockPanel.Dock="Right" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>

                        </DockPanel>
                    </Grid>
            </telerik:RadTabItem>
        </telerik:RadTabControl>
        </Grid>
    </DockPanel>
    
</Window>



end View ========
...
Рейтинг: 0 / 0
Количество записей в столбце RadGridView
    #38821644
itprodavets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wiktor591,

В твоем случае из предоставленной информации - DataMemberBinding="{Binding Path=MailAttach.Count}"

Код: xml
1.
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=MailAttach.Count}" Header="количество" Width="Auto" TextAlignment="Center"/>

и не нужно не какого наследования.
...
Рейтинг: 0 / 0
Количество записей в столбце RadGridView
    #38821712
wiktor591
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itprodavets,

Спасибо, все получилось.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Количество записей в столбце RadGridView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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