WPF рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рдЧреНрд░рд┐рдб рдЪрдпрди

рд╣рдорд╛рд░реА рдЯреАрдо рдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдШрдЯрдХреЛрдВ рдХреЗ WPF рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЖрдзрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдорд╛рдирдХ рдЧреНрд░рд┐рдб (рдФрд░ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ) рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИред рдПрдХ рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рджреВрд╕рд░реА рдмрд╛рдЗрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ред рдЗрд╕рд╕реЗ рдердХ рдЧрдП! рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЧреНрд░рд┐рдб рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕реВрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдкреНрд░рддрд┐рдпреЛрдЧреА


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд┐рд╕реА рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреА:

рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╣реБрдЖ, рдХреГрдкрдпрд╛, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред

рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Telerik рдФрд░ DevExpress рд╕реЗ WPF рдШрдЯрдХреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИред ComponentOne рд╕реЗ 10 рд╕рд╛рд▓ рдХреЗ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ WinForms рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рднреА рд╣реИред рдореИрдВ рдЦреБрдж 2009 рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП WPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкрдиреА рдЧреНрд░рд┐рдб рдмрд╛рдЗрдХ рдФрд░ MVVM рд░реВрдкрд░реЗрдЦрд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ


рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ "рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА", "рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЧрддрд┐" рдЖрджрд┐ рдЬреИрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рддрдХ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирд┐рд░реНрдгрдпреЛрдВ рдореЗрдВ, рдореИрдВ рдЕрдВрддрд┐рдо рд╕рддреНрдп рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдкрдиреА рджреГрд╖реНрдЯрд┐ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕реВрдЪреА рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рд╕реВрдЪреА рдореЗрдВ рд╕рднреА 5 рдЧреНрд░рд┐рдб рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рдВрд╕рд╛рдзрди рдЧрд╣рди рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓рд╛ рдХрджрдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЯрд╛рд╕реНрдХ рдкрд░ рдПрдХ рд╕рддрд╣реА рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирдЬрд╝рд░ рдереА рдЬреЛ "рдЬреИрд╕реЗ" / "рдирд╛рдкрд╕рдВрдж" рдХреА рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдЫрд╛рдкреЛрдВ рдФрд░ рдЫрд╛рдкреЛрдВ рдореЗрдВ рдереАред

рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдкрд╣рд▓реЗ рджреЛ рдЙрдореНрдореАрджрд╡рд╛рд░ рдЧрд╛рдпрдм рд╣реЛ рдЧрдП, рдФрд░ рд╣рдордиреЗ рддреАрди рд╢реЗрд╖ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рд╕реВрдЪреА рд╕рдВрдХрд▓рд┐рдд рдХреАред рдЕрдЧрд▓рд╛, рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд┐рдб рдХреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рдЫрд╛рдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

DevExpress


рдЧреНрд░рд┐рдб рдЗрдВрдкреНрд░реЗрд╢рди рдмрд╣реБрдд рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ WinForms рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдШрдЯрдХ WinForms рдХреА рд╢реИрд▓реА рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЬреЛ рдПрдХ рддрд░рдл рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ WinForms рдХреЗ рд╕рд╛рде WPF рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рддрд░рдл, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдирдИ рддрдХрдиреАрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрдХреНрд░рдордг рдирд╣реАрдВ рд╣реИред WPF рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ 4 рд╕рд╛рд▓ рдмрд╛рдж рдЗрд╕ рдЧреНрд░рд┐рдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдФрд░ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд┐рдб рдореЗрдВ рдЪрдпрдирд┐рдд рдкрдВрдХреНрддрд┐ рдЪрдпрдирд┐рдд рдЗрдЯреЗрдо рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХрдИ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЛрдЪреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди, рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВ рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИред

рд╕реНрддрдВрдн рдмрдВрдзрди, рд╕реНрдкреАрдХрд░ рдЕрдиреБрдХреВрд▓рди

рд╕реНрдкреАрдХрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореВрд▓ WPF рдХреЗ рд░реВрдк рдореЗрдВред рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рдВрдкрд╛рджрди рдХрд╖реНрдЯрдкреНрд░рдж рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рднреА рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА, рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрдпрдирдХрд░реНрддрд╛ рд╣реЛрддреЗ рд╣реИрдВред

рдПрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдВрдЧ рд▓рд╛рдЗрдиреЗрдВ

рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╢реБрд░реВ рд╣реБрдЖред рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрдЪрд╛рд▓рди, рдЬреЛ рдореВрд▓ WPF рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, DevExpress рдЧреНрд░рд┐рдб рдореЗрдВ, рдХреЛрдб рдХреЗ рдХрд┐рд▓реЛрдореАрдЯрд░-рд▓рдВрдмреА рдХреИрдирд╡рд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд┐рдб рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдПрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдВрдЧрдиреЗ рд╕реЗ рдЖрд╕рд╛рди рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рд╡рд┐рд╖рдо - рд╕рдлреЗрдж, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреНрд░реЗред рдЬреЛ рд▓реЛрдЧ WPF рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдореВрд▓ рдЧреНрд░рд┐рдб рдЖрдЙрдЯ рдСрдлрд╝ рдж рдмреЙрдХреНрд╕ рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ:
<DataGrid AlternatingRowBackground="LightGray"/> 

рд▓реЗрдХрд┐рди DevExpress рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдЬреАрд╡рди рдкрд░ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдРрд╕реА рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :
 <!--    --> <SolidColorBrush x:Key="EvenRowBrush" Color="LightGray" /> <!--    --> <SolidColorBrush x:Key="OddRowBrush" Color=" Transparent" /> <!--      --> <Style BasedOn="{StaticResource {dxgt:GridRowThemeKey ThemeName=Seven, ResourceKey=RowStyle}}" TargetType="{x:Type dxg:GridRowContent}"> <Style.Triggers> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=EvenRow}" Value="False"/> <Condition Binding="{Binding Path=SelectionState}" Value="None"/> </MultiDataTrigger.Conditions> <Setter Property="Background" Value="{StaticResource EvenRowBrush}" /> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=EvenRow}" Value="True"/> <Condition Binding="{Binding Path=SelectionState}" Value="None"/> </MultiDataTrigger.Conditions> <Setter Property="Background" Value="{StaticResource OddRowBrush}" /> </MultiDataTrigger> </Style.Triggers> </Style> 

рдЕрдЬреАрдм, рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕реА рд╕рд░рд▓ рдЪреАрдЬреЛрдВ рдХреЛ Google рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдРрд╕реЗ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ

рдЕрдЧрд▓рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдЬреЛ рд╣рдордиреЗ рдЧреНрд░рд┐рдб рдкрд░ рджреЗрдЦрд╛ рдерд╛ рд╡рд╣ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ рдмрдВрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдпрд╛рдиреА рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд▓рд╕рд╕ рд╣реЛ, рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдмрд▓ рдЦреБрд▓ рдЬрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрд░реНрдбрд░ рдФрд░ рдСрд░реНрдбрд░ рд▓рд╛рдЗрдиреЗрдВред

рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдкрд╛рдП рдЧрдП, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЕрдкрдиреЗ рдиреБрдХрд╕рд╛рди рдФрд░ рдлрд╛рдпрджреЗ рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рднрд╛рдЧреЛрдВ рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ 300 рдкрд┐рдХреНрд╕реЗрд▓ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ? рдлрд┐рд░ рдПрдХ рджреВрд╕рд░рд╛ рд╕реНрдХреНрд░реЙрд▓ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдореБрдЦреНрдп рдПрдХ рдХреЗ рдмрдЧрд▓ рдореЗрдВ? рдмрджрд╕реВрд░рдд рдФрд░ рдЕрд╕рд╣рдЬред

DataControlDetailDescriptor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд▓реНрдк рд╣реИред рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 <dxg:GridControl.DetailDescriptor> <dxg:DataControlDetailDescriptor ItemsSourcePath="Children"> <dxg:DataControlDetailDescriptor.DataControl> <dxg:GridControl> <dxg:GridControl.View > <dxg:TableView> </dxg:TableView> </dxg:GridControl.View> <dxg:GridControl.Columns> </dxg:GridControl.Columns> </dxg:GridControl> </dxg:DataControlDetailDescriptor.DataControl> </dxg:DataControlDetailDescriptor> </dxg:GridControl.DetailDescriptor> 

рдЯреИрдЧ рдХреЗ рдРрд╕реЗ рдЬрдВрдЧрд▓реА рдШреЛрдВрд╕рд▓реЗ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ? рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ xml рдПрдХ рдордирд╣реВрд╕ рд╣реИ, рдХрднреА рднреА рдХреЙрдореНрдкреИрдХреНрдЯ рдирд╣реАрдВ, рдкреНрд░рд╛рд░реВрдк, рд▓реЗрдХрд┐рди рдЙрд╕реА рд╣рдж рддрдХ рдирд╣реАрдВ! рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдЧреА рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рдЧреНрд░рд┐рдб рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рд╕реНрдЯрд░ рдкрдВрдХреНрддрд┐ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдмрд▓реНрдХрд┐, рдЧреНрд░рд┐рдб рднрд╛рдЧ рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдорд╛рд╕реНрдЯрд░ рдЧреНрд░рд┐рдб рдХреА рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдЧреНрд░рд┐рдб рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реАрдорд╛рдПрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЧреНрд░рд┐рдб рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдлреЛрдХрд╕реНрдбрд░реЛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ! рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рднреА рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЯреВрд▓рдмрд╛рд░ рдкрд░ рдХрдорд╛рдВрдб рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдЧреНрд░рд┐рдб рдлреЛрдХрд╕ рдореЗрдВ рд╣реИред рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдерд╛, рджреЛ рдЧреНрд░рд┐рдбреЛрдВ рдХреЗ рдлреЛрдХрд╕ рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ рдЗрд╕ рдХреНрд░рдо рд╕реЗ рдХрдЯреМрддреА рдХрд░рдирд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдЧреНрд░рд┐рдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреЛрдХрд╕ рдореЗрдВ рд╣реИ рдФрд░ рдХреМрди рд╕реА рдЯреАрдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдкреНрд░рд╕рдВрдЧ рдореЗрдиреВ рдХрдорд╛рдВрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ

рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрдорд╛рдВрдб рдХреЗрд╡рд▓ рдШреГрдгрд┐рдд рд╣реИред рдЧреНрд░рд┐рдб рдореЗрдВ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЗ рдЧрдарди рдХреЗ рджреМрд░рд╛рди DataContext рд╕рдВрдкрддреНрддрд┐ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдЯреВрдЯ рдЧрдИ рд╣реИред рдХреБрдЫ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ DataContext рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдФрд░ ViewModel рд╕реЗ рдПрдХ рдХрдорд╛рдВрдб рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 Command="{Binding Path=View.DataContext.CancelCommand}" 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧреБрдгреЛрдВ рдХреЗ рдРрд╕реЗ рд╕рд╣реА рдЕрдиреБрдХреНрд░рдо рдХреА рдЦреЛрдЬ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рдереЗред рдЦреЛрдЬ рдХреЗ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж рдЙрдкрд░реЛрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рдлреИрд╕рд▓рд╛

рдЙрдкрд░реЛрдХреНрдд рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╣реИрдВрдЧ рдФрд░ рдХреНрд░реИрд╢ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм DevExpress рдШрдЯрдХ рдЗрд╕рдореЗрдВ рдЦреБрд▓реЗ рд╣реИрдВред

рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ DevExpress рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкреНрд░рдпреЛрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдПред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ DevExpress рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рд╣реИрдВ, рдФрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЛ DevExpress рдХреЗ WinForms рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИ, рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рд░рд╕реАрд▓рд╛ рдФрд░ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдЧрд╛ред

рдкреНрд░рд╛рд░рдВрдн рдХреЗ рдмреАрдЪ рдХреА рдмрдЪрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдкрддреНрд░ рдкрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╢рд╛рдВрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдЗрдиреНрдлрд╝реНрд░рд╛рдЧреЗрдЯрд┐рдХреНрд╕ рдиреЗрдЯрдПрдбрд╡реЗрдВрдЪрд░


рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╖рдп рдЗрдиреНрдлрд╝реНрд░рд╛рдЧреЙрд╕реНрдЯрд┐рдХ рдЧреНрд░рд┐рдб рдерд╛ред рдЕрдкрдиреЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рдЧреНрд░рд┐рдб рдХреА рдЦреЛрдЬ рдХреА: XamGrid рдФрд░ XamDataGrid ред рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд┐рдб рдХреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕рдВрддреГрдкреНрддрд┐ рдЕрдЬреАрдм рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ ред

рдФрд░ рдпрджрд┐ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдореЗрдВ рджреЛрдиреЛрдВ рдЧреНрд░рд┐рдб рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдареАрдХ рд╣реИ, рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, XamDataGrid рдХреЛ рд▓реЗрдВ , рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рд╕рдореГрджреНрдз рд╣реИред

рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдмрд╛рдВрдзрдирд╛

рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рднреНрд░рдорд┐рдд рдереА рдХрд┐ рдЧреНрд░рд┐рдб рдореЗрдВ рдХреЙрд▓рдо рдХреА рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рдереАред рдХреБрдЫ FieldLayouts рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдШреЛрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ :
 <igDP:XamDataGrid AutoFit="True" DataSource="{Binding Constituents}"> <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:FieldLayout.Fields> <igDP:Field Label="Name" Name="Name" /> <igDP:Field Label="Photo" Name="ImageUri">тАж</igDP:Field> <igDP:Field Label="Age" Name="Age" /> </igDP:FieldLayout.Fields> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> </igDP:XamDataGrid> 

рдпрд╣ рдЕрдЬреАрдм рд╣реИред рд╕рд╛рде рд╣реА, рдЖрдк рдХреЗрд╡рд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рдФрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдирд╛рдоред рдФрд░ рдпрджрд┐ рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП :
 <igDP:UnboundField Name="StreetDesc" Label="Security Description"> <igDP:Field.Settings> <igDP:FieldSettings> <igDP:FieldSettings.CellValuePresenterStyle> <Style TargetType="igDP:CellValuePresenter"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <TextBlock DataContext="{Binding DataItem.Security}" Text="{Binding StreetDesc}"/> </ControlTemplate> </Setter.Value> </Setter> </Style> </igDP:FieldSettings.CellValuePresenterStyle> </igDP:FieldSettings> </igDP:Field.Settings> </igDP:UnboundField> 


рдлреИрд╕рд▓рд╛

рдирд╣реАрдВ, рдпрд╣ WPF рдирд╣реАрдВ рд╣реИ! рд╣рдордиреЗ рдЗрд╕ рд░рд╛рдХреНрд╖рд╕ рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рдмрд┐рддрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

Xceed


рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдпрджрд┐ рдкрд╣рд▓реЗ рджреЛ рдЧреНрд░рд┐рдбреЛрдВ рдХреЗ рдЗрдВрдкреНрд░реЗрд╢рди рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВ, рддреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рддрд░рдл, рдЧреНрд░рд┐рдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗред рджреВрд╕рд░реА рдУрд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЖрд╡реЗрджрди рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдЬреИрд╕реЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХреАред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреНрд░рдо рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВред

WCF DataServices рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдФрд░ рд╕рдорд░реНрдерди рдХрд╛ рдЖрд▓рд╕реА рдкреЛрд╕реНрдЯ рд▓реЛрдбрд┐рдВрдЧ

рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдЧреНрд░рд┐рдб рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ WCF DataServices рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣ рддрдХрдиреАрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИ)ред рдЧреНрд░рд┐рдб рдкрд░ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЕрдЬреАрдм рд╡рд┐рдХрд▓реНрдк, рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рддрдХ рдореИрдВ рдЖрджрд┐рдо рдХреЛ рджреЗрдЦрдХрд░ рдердХ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреБрдЫ рдордЬрд╝рд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ, рдЧреНрд░рд┐рдб рддреЗрдЬ рд╣реИ, WCF DataServices рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рд╣реИред рдЖрдк рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдореЗрдВ IQueryable рдХреЛ рдкрд░реНрдЪреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЧреНрд░рд┐рдб рд╣реА рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдПрдХ рдЖрд▓рд╕реА рдмрдЪреНрдЪреЗ рдХреЗ рд╕рд╛рде рдЖрджрд┐рдо рд╕рд░реНрд╡рд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЫрдБрдЯрд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрднрд╡ рдерд╛ред

рд▓реЗрдХрд┐рди рдлрд┐рд░ рдирд┐рд░рд╛рд╢рд╛ рд╣рд╛рде рд▓рдЧреАред рд╣рд╛рдВ, рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реАрдзреЗ рдЧреНрд░рд┐рдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ, рд╡рд╣ рдЕрдм рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдлрд╝реАрд▓реНрдб рдмрд╕ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рддреЛ рдЬрдм рдЫрдВрдЯрд╛рдИ рд╣реЛрддреА рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдЕрдЬреАрдм рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИред рд╡реИрд╕реЗ рднреА, рдЧреНрд░рд┐рдб рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдШрдЯрдХ рдирд┐рд░рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, Infragistics рдиреЗ рдЗрд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдВрдк рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдмрд╛рдВрдзрдирд╛

рдпрд╣рд╛рдВ рдирд┐рд░рд╛рд╢рд╛ рд╣рд╛рде рд▓рдЧреАред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧреНрд░рд┐рдб рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рдлрд╝реАрд▓реНрдбрдирд╛рдо рдЧреБрдг рдХрд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, DisplayMemberBindingInfo рдЧреБрдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЧреБрдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рд╕рднреА рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рд░реНрдХрдЕрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ reducible рдирд╣реАрдВ рд╣реИ (рдЖрдк рд╕рд┐рд░реНрдл DisplayMemberBindingInfo = "{Binding ...}" рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдмрджреНрдз рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗрд▓ рдХреЗ рдбреЗрдЯрд╛рдХреЛрдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рд╕реЗрд▓ рд╢реИрд▓реА / рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдкрдбрд╝реЛрд╕реА рдХреЙрд▓рдо рдпрд╛ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ? рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдирд░реНрддрдХреА рдХреЗ рд╕рд╛рде рдиреГрддреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 <xcdg:Column FieldName="Product.Name" Title="" CellContentTemplateSelector="{StaticResource ProductTemplateSelector}"> <xcdg:Column.DisplayMemberBindingInfo> <xcdg:DataGridBindingInfo ReadOnly="True" Path="."/> </xcdg:Column.DisplayMemberBindingInfo> </xcdg:Column> 

рдпрд╣рд╛рдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдкрде = "ред" ReadOnly = "True" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕реЗрд▓ рдХреЗ DataContext рдореЗрдВ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ ( рдСрд░реНрдбрд░ ) рдХреА рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдбрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рди рдХрд┐ рдЗрд╕рдХреЗ рдЧреБрдг ( Product.Name )ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рдерд╛ред рдУрд╣ рдареАрдХ рд╣реИред рдХреЛрдИ рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВ рдЕрджреНрднреБрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖ рдЧрдпрд╛ред рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкрд╛рдардХ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░рдВрдХреБрд╢ рд╣реИ рдФрд░ "рдХреЙрд▓рдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдлреАрд▓реНрдбрдиреИрдо =" Product.Name "рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рд╣реА рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ"ред рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ, рдЪрд▓реЛ рд╣рдЯреЛред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рд╕рдВрдХрд▓рдХ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЛ рд▓реВрдЯ рд▓реЗрдВрдЧреЗ:
рдорд╛рди рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо: рдХреБрдВрдЬреА
рдореВрд▓реНрдп рдХреНрдпрд╛ рд╣реИ, рдкреНрд░рдореБрдЦ рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЙрд╕реА рд╕рдордп, рдлрд╝реАрд▓реНрдбрдирд╛рдо рдЧреБрдг рдХреЗ рд╕рдорд╛рди рдорд╛рди рд╡рд╛рд▓реЗ рджреЛ рд╕реНрддрдВрдн рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
рд╕рдорд╛рди рдлрд╝реАрд▓реНрдб рдирд╛рдо рд╡рд╛рд▓рд╛ рдПрдХ рдХреЙрд▓рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред
рд╣рд╛рдБ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрд░реНрдо рд╣реИред рдлрд┐рд░ рдореБрдЭреЗ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдШреЗрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдореИрдВ рдПрдХ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рд╕реНрд╡рдпрдВ рд╕рдВрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЙрд▓реЗрдХреНрд╢рди рдХрд╛ рдПрдХ рд╡рдВрд╢рдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрджрд░ (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдореЗрдВ рдПрдХ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ:
 Dictionary<string, ColumnBase> m_fieldNameToColumns; 

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдкреМрд░рд╛рдгрд┐рдХ, рдЧреИрд░-рдореМрдЬреВрдж рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдирд╛рдо рдХреЗ рд╕рд╛рде рдЖрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рд╡рд╣рд╛рдВ рдмрдВрдзрди рд╕реЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА рдХрд┐ 2013 рдореЗрдВ рдореИрдВ рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реЗрдЦрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдкрдврд╝реВрдВрдЧрд╛:
рд╕рдореВрд╣ рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдореВрд╣ рдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛рдЯреИрдореНрдкрд▓реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕реВрдЪрдирд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
 <DataTemplate DataType="{x:Type xcdg:Group}"> <TextBlock Text="Voici mon DataTemplate fran├зais!" /> </DataTemplate> 

рдЖрдк WPF рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ (рд░рд┐рд╕реЛрд░реНрд╕рдмрд░реНрдб рдХреЗ рд╢реАрд░реНрд╖ рд╕реЗ 3 рд╕рдВрд╕рд╛рдзрди) рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб рдХреЗ "рдереАрдореНрд╕ \ рдЖрдо \ _ рдХреЙрдорди рд╕реЛрд░реНрд╕" xaml рдореЗрдВ рдПрдХ availlable рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдлреНрдд рдЕрдиреБрд╡рд╛рдж:
рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рд╕рдореВрд╣реАрдХрд░рдг рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдкрд╛рда рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдЕрдЪреВрдХ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛
рдлрд┐рд░ рдЖрдк рдпрд╣рд╛рдВ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: WPF рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЧреНрд░рд┐рдб (рдКрдкрд░ рд╕реЗ рддреАрд╕рд░рд╛ рд╕рдВрд╕рд╛рдзрди) рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрде рдкрд░ "рдереАрдо \ Common \ Common.Resource.xaml"
рдХреНрдпрд╛ рдореБрдЭреЗ рд╕рднреА рдЯреЗрдХреНрд╕реНрдЯ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? 21 рд╡реАрдВ рд╕рджреА рдореЗрдВ рд╡рд╛рд╣ рд╕реНрдерд╛рдиреАрдпрдХрд░рдгред

рд▓реЗрдХрд┐рди рдЗрд╕ рдлреЛрд░рдо рдереНрд░реЗрдб рдиреЗ Xceed рдХреЛ рдЖрдЧреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛:
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ ShowPrintPreviewWindow рдпрд╛ ShowPrintPreviewPopup рдХреА рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓реЛрдВ (рдЬреЛ рдХреБрдЫ рднрд╛рд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд┐рдВрдЯ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд┐рдВрдЯрдкреНрд░рд┐рд╡реНрдпреВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╣реИ рдЬреЛ рдПрдХ рдкреЙрдкрдЕрдк рдпрд╛ рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ XBAP рдореЗрдВ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ), рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдЬреА рд╣реИред

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрдиреБрд╡рд╛рдж:
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдм рдЗрди рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рд╕рдВрджреЗрд╢ рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд╛рда рдХреЛ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд╣реАрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдШрдЯрдХ рдирд┐рдЬреА рд╣реИред
рдмреНрд░рд╛рд╡реЛ, Xceed рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕! рдкреВрд░реА рдЧреИрд░-рдЕрдВрдЧреНрд░реЗрдЬреА рджреБрдирд┐рдпрд╛ рдЖрдкрдХреЛ рд╕рд░рд╛рд╣рддреА рд╣реИред

рдлреИрд╕рд▓рд╛

рд╕реБрдВрджрд░, рддреЗрдЬ, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдиреЗ рдордЬрд╛рдХ рдХреЗ рд░реВрдк рдореЗрдВ "... рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╣реИред"

ComponentOne


рдзрд╛рд░рдгрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИред рд╕рдм рдХреБрдЫ рд╕реБрдВрджрд░ рдФрд░ рд╕рдЯреАрдХ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЛрдВ рдореЗрдВ рдЧреНрд░рд┐рдб рдорд╛рдирдХ рдЧреНрд░рд┐рдб рд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рднреЗрджреНрдп рд╣реИред рд╕рднреА рдмрд╛рдЗрдВрдбрд░реНрд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ, рдХреЙрд▓рдо рд╕реНрдЯрд╛рдЗрд▓ рдпрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрд▓рдо рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреНрд░рдо рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред

рдПрдХ рдХреЗ рдмрдЬрд╛рдп рджреЛ рдЧреНрд░рд┐рдбред рдлрд┐рд░ рд╕реЗ рдЪреБрдиреЗрдВ?

рджреЛ рдЧреНрд░рд┐рдб рддреБрд░рдВрдд рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИрдВ: C1DataGrid рдФрд░ C1FlexGridред рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рддреБрд░рдВрдд рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рдкрд░ рдХрд╛рдмреВ рдкрд╛ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд▓реЗрдЦ рдкрдврд╝рд╛ рдФрд░ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдпрд╛ред рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЛ рдЧреНрд░рд┐рдбреЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдкрд╣рд▓рд╛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝, рдлрд╝рд┐рд▓реНрдЯрд░, рд╕рдореВрд╣, рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ, рдЖрджрд┐ рдХреА рд╕рдореГрджреНрдз рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдеред рдФрд░ рджреВрд╕рд░рд╛ рд╣рд▓реНрдХрд╛ рд╣реИ, рдмрдбрд╝реЗ рдлреНрд▓реИрдЯ рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдПрдХ рдлрд╛рдпрджрд╛ рднреА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрддрдВрдн рдмрдВрдзрди, рд╕реНрдкреАрдХрд░ рдЕрдиреБрдХреВрд▓рди

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ: рд╣рдордиреЗ рдХреЙрд▓рдо рдХреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреА рдкреНрд░рддрд┐рднрд╛ рдкрд░ рдЦреБрд╢реА рдордирд╛рдИред рдХреЗрд╡рд▓ рдЧреНрд░рд┐рдб рдореЗрдВ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреНрд╡рд┐рджрд┐рд╢реАрдп рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рдВрдкрд╛рджрди рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдореЗрдВ рдмрд╛рдВрдзрдиреЗ рд╕реЗ рдлрд╝реЛрдХрд╕ рдЦреЛ рдЬрд╛рдиреЗ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреБрд░рдВрддред рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рдпреЗ рдЯреНрд░рд╛рдЗрдлрд▓реНрд╕ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдВрдзрди рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВред

рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред 9 рдорд╛рдирдХ рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░ + рдЦрд╛рдХрд╛ рд╣реИрдВ ред рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдХреЛ рдПрдХ рд╕реЗрд▓ рд╢реИрд▓реА рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ, рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рд╕реНрдЯрд╛рдЗрд▓ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬрд╝ рд╕реЗрд▓ рд╕реЗрд▓ рдФрд░ рд╕реЗрд▓рдХреЙрдиреНрдЯреЗрдВрдЯ рд╕реНрдЯрд╛рдЗрд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕реЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рд╢реИрд▓реА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╢реИрд▓реА рдХреЗ рдЕрдВрджрд░ рдЕрдЬреАрдм рдмрд╛рдЗрдВрдбрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣, рдЖрдкрдХреЛ рдСрд░реНрдбрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрд▓ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:
 <Style x:Key="SateCellStyle" TargetType="TextBlock"> <Setter Property="Background" Value="Transparent"/> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=c1:DataGridRowPresenter}, Path=Row.DataItem.State.Code}" Value="new"> <Setter Property="Background" Value="Wheat"/> </DataTrigger> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=c1:DataGridRowPresenter}, Path=Row.DataItem.State.Code}" Value="confirmed"> <Setter Property="Background" Value="LightGreen"/> </DataTrigger> </Style.Triggers> </Style> 

рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рдпрд╣ рдЕрдкреНрд░рд┐рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рдкрд░реЗрд╢рд╛рди рд╣реИ рдХрд┐ рдЖрдк CellTemplateSelector рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдмреЗрд╢рдХ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рдЖрдк рд╣рдореЗрд╢рд╛ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП rephrase рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реИред

рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реИрд▓реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИ, рд╡рд┐рд╡рд░рдг рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВ, рдорд╛рд░реНрдХрдЕрдк рдиреНрдпреВрдирддрдо рд░реВрдк рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ, DevExpress рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдордзреНрдпрд╡рд░реНрддреА рдЯреИрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛:
 <c1:C1DataGrid.RowDetailsTemplate> <DataTemplate> <c1:C1DataGrid x:Name="gridOrderItems" IsReadOnly="False" AutoGenerateColumns="False" ItemsSource="{Binding Path=SalesOrderItems}"> <c1:C1DataGrid.Columns> <c1:DataGridTextColumn Binding="{Binding Path=SalesOrderItemId, Mode=TwoWay}" Header="Item Id" /> <c1:DataGridTextColumn Binding="{Binding Path=Product.Name, Mode=TwoWay}" Header="Product name" /> </c1:C1DataGrid.Columns> </c1:C1DataGrid> </DataTemplate> </c1:C1DataGrid.RowDetailsTemplate> 

рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдЧреНрд░рд┐рдб рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдорд╛рдиреНрдпрддрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдШреБрд╕рдкреИрда рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рдХрд╖реНрдЯрдкреНрд░рдж рдирд╣реАрдВ рд╣реИред

рдЯреНрд░реА рдЧреНрд░рд┐рдб

рдХрд╛рд░реНрдп рд╕рд░рд▓ рд╣реИ: рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдЕрдирдВрдд рдкрджрд╛рдиреБрдХреНрд░рдо рджрд┐рдЦрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ: рдХреЙрд▓рдо рдПрдХ рдмрд╛рд░ рдШреЛрд╖рд┐рдд рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдмрд╛рд▓ рд░рд┐рдХреЙрд░реНрдб рдХреА рджреГрд╢реНрдпрддрд╛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЯрди рд╣реЛрддрд╛ рд╣реИ, рдмрд╛рдПрдВ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдПрдХ рджреГрд╢реНрдпрдорд╛рди рдЗрдВрдбреЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕реНрддрд░ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

"рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдРрд╕реА рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╣реИ:

рдпрд╣ рд▓рд╛рдЗрди рджреГрд╢реНрдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЯреЙрдЧрд▓рдмрдЯрди рдмрдЯрди рдХреЗ рдЯреНрд░рд┐рдЧрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд▓рд╛рдЗрди рд╣реЗрдбрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрд╣ рдХрд╛рдлреА рддреЗрдЬ рдФрд░ рд╕реБрдВрджрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдкрджрд╛рдиреБрдХреНрд░рдо (рдЧреНрд░рд┐рдб рдПрдХ рдлреНрд▓реИрдЯ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ) рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдирд┐рд╖реНрдХрд░реНрд╖ - рдПрдХ рд╕реБрдВрджрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЪрд┐рдк, рдереЛрдбрд╝рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрд╡реЗрджрди рдкреНрд░рдгрд╛рд▓реА рдореЗрдВред

рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХрд╛ рд╕рдВрдпреЛрдЬрдиред

рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдп рдПрдХ рдмрд╣реБ-рд╕реНрддрд░реАрдп рддрд╛рд▓рд┐рдХрд╛ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдХреЛ рд╕рдВрдШ рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:

рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдЧреНрд░рд┐рдб рди рдХреЗрд╡рд▓ рд╣реЗрдбрд░, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдФрд░ рдкрдВрдХреНрддрд┐ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдпрд╣ рд╕рдм рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

C1FlexGrid рдШрдЯрдХ рдореЗрдВ AllowMerging рдЧреБрдг рд╣реИ; рдЗрд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ / рдпрд╛ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЧреБрдг рдЖрд╕рдиреНрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдВрдШ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЙрдирдХреЗ рд╕рдорд╛рди рдореВрд▓реНрдп рд╣реИрдВред рдпрд╣ рд╢рд╛рдВрдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рд╣рдо рдПрдХ рд╣реА рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдкреНрд░рд╛рдЪреАрди WinForms рдЧреНрд░рд┐рдб рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ)ред

C1DataGrid рдШрдЯрдХ рдЗрд╕рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╣рдиреАрдп рд╣реИред рдРрд╕реА рдХреЛрдИ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдорд░реНрдЬрд┐рдВрдЧрдЪреЗрд▓реНрд╕ рдЗрд╡реЗрдВрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЖрдк рдорд░реНрдЬрд┐рдВрдЧ рд╕реЗрд▓реНрд╕ рдХреЗ рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЧреНрд░рд┐рдб рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░реНрдХ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдпрджрд┐ рдЖрдк рдЗрди рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЗ рдЗрдирд╕рд╛рдЗрдб рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣реЗрдбрд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
  public ComponentOneComparision() { InitializeComponent(); _headerColumnRows = new[] { TopColumnHeaderRow, BottomColumnHeaderRow }; } private DataGridRow[] _headerColumnRows; private void dataGrid_MergingCells(object sender, C1.WPF.DataGrid.DataGridMergingCellsEventArgs e) { //      var nonHeadersViewportCols = dataGrid.Viewport.Columns.ToArray(); var nonHeadersViewportRows = dataGrid.Viewport.Rows.Where(r => !_headerColumnRows.Contains(r)).ToArray(); //    foreach (var range in MergingHelper.Merge(Orientation.Vertical, _headerColumnRows, nonHeadersViewportCols, true)) { e.Merge(range); } } 

рдЗрд╕реА рд╕рдордп, xaml рдореЗрдВ рд╕реНрддрдВрдн рд╢реАрд░реНрд╖ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗ:
 <c1:DataGridTemplateColumn Header="[, ]" /> <c1:DataGridTemplateColumn Header="[, ]"/> <c1:DataGridTextColumn Header="[, ]"/> 

рджреЛ рдХрд╕реНрдЯрдо рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рдирд╛ рдерд╛?
 <c1:C1DataGrid.TopRows> <c1:DataGridColumnHeaderRow x:Name="TopColumnHeaderRow"/> <c1:DataGridColumnHeaderRow x:Name="BottomColumnHeaderRow"/> </c1:C1DataGrid.TopRows> 

рдФрд░ рдЖрдкрдХреЛ рдЧреНрд░рд┐рдб рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ рдорд╛рдирдХ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 <c1:C1DataGrid HeadersVisibility="Row" 

рдирддреАрдЬрддрди, рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдКрдкрд░ рдХреА рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреНрд░рд┐рдб рдорд┐рд▓рддрд╛ рд╣реИред рдПрдХ рддрд░рдл, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдирд┐рдХрд▓реЗ: рджреЛ рд╕рд╣рд╛рдпрдХ рдХрдХреНрд╖рд╛рдПрдВ, рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░, рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рд╣реЗрдбрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдордЬрдмреВрд░ рдХрд░рдирд╛, рдЫрд╛рдВрдЯрдирд╛, рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдФрд░ рд╕рдореВрд╣реАрдХрд░рдг рдХрд░рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдорд╛рдирдХ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рджреВрд╕рд░реА рдУрд░, рдПрдХ рдПрдХреАрдХреГрдд рд╕реЗрд▓ рд╡рд┐рд▓рдп рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рди рдХреЗрд╡рд▓ рд╕реНрддрдВрдн рдпрд╛ рдкрдВрдХреНрддрд┐ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рднреА рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЧрдардмрдВрдзрди рдХрд░реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдпрд╛ рдХрдВрдкрдиреА рдХреЗ рдирд╛рдо рд╕реЗред

WCF DataServices рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдФрд░ рд╕рдорд░реНрдерди рдХрд╛ рдЖрд▓рд╕реА рдкреЛрд╕реНрдЯ рд▓реЛрдбрд┐рдВрдЧ

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХрд╛ рдЖрд▓рд╕реА рдкреЛрд╕реНрдЯ-рд▓реЛрдбрд┐рдВрдЧ рдХреЗрд╡рд▓ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди WPF рдХреЗ рд▓рд┐рдП, рдбреЗрдореЛ рдореЗрдВ рднреА, рдпрд╣ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рд░рд┐рдпрд╛ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдлреЛрд░рдо рдХреЗ рдкрд╛рд╕ WCF DataServices рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдЯрд┐рдХрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рд╢рд╛рдВрдд рд╣реИред рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдпрджрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реА рдареЛрд╕ рд╣реЛрдЧреАред

рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдПрдХреНрд╕реЗрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдирдЦрд░реЗ рдХреЗ рд╕рд╛рде рдиреГрддреНрдп рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдлреНрд▓реИрдЯ рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдПред рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рд╣реЗрдбрд░ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЧреНрд░рд┐рдб рдХреЗ рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдЬреЛ рд▓рд╛рдЗрдиреЗрдВ рдлрд╝реЛрдХрд╕ (рдорд╛рд╕реНрдЯрд░ рдпрд╛ рднрд╛рдЧ) рдореЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрдлрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдорд╛рд╕реНрдЯрд░ рдЧреНрд░рд┐рдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП, рд░рд┐рдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрдлрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЯреЙрд╕рд╕реНрдЯреНрд░рд┐рдВрдЧ () рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХреНрд╕реЗрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрджреНрд░рдг рд╕рд╛рдордЧреНрд░реА

рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рдкреНрд░рд┐рдВрдЯ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЙрдХрдиреЗрдо) рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИ , рдЬреЛ рд╕рдВрдкреВрд░реНрдг рдЧреНрд░рд┐рдб рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд┐рдВрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╡рд╛рдж рдЦреЛрд▓рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рдзрд┐ рднреА рд╣реИ:
 List<FrameworkElement> GetPageImages(тАж) 

рдЬреЛ рдПрдХ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдЧреНрд░рд┐рдб рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЧреНрд░рд╣ рдХреЛ PrintDocument рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП, xps рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг

рдпрд╣рд╛рдВ рднреА рд╕рдм рдареАрдХ рд╣реИред рдмреЙрдХреНрд╕ рдореЗрдВ рд╕реЗ 21 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ (рд░реВрд╕реА рдФрд░ рдЪреАрдиреА) рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред

рдпреВрдЖрдИ рд╕реНрд╡рдЪрд╛рд▓рди рд╕рдорд░реНрдерди

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд╕рд╡рд╛рд▓ рдХрд╛ рдереЛрдбрд╝рд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдФрд░ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЯреВрд▓ рдХреЛрдбреЗрдб рдпреВрдЖрдИ рдЯреЗрд╕реНрдЯ рдмрд┐рд▓реНрдбрд░ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрд╛ред рдореИрдВ рдирд┐рд░рд╛рд╢ рдерд╛ред рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЧреНрд░рд┐рдб рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдПрдХрд▓ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рджреБрдЦрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпреВрдЖрдИ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛ рдХреЛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред

рдлреИрд╕рд▓рд╛

рд░реЛрдЧреА рдореГрдд рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬреАрд╡рд┐рдд рд╣реИред WPF рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЕрдЪреНрдЫреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫрд╛, рддреЗрдЬрд╝ рдкрд░реНрдпрд╛рдкреНрдд рдЧреНрд░рд┐рдбред рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕реЗрд▓рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреА рдХрдореА рдпрд╛ рдпреВрдЖрдИ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрддрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред

Telerik


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдиреБрднрд╡ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧреНрд░рд┐рдб рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реИрд▓реА рдиреЗ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдЗрд╕рд╕реЗ рджреВрд░ рд░рдЦрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рднреА рдорд╛рд░реНрдХрд░реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдж рдФрд░ рд░рдВрдЧ рдЕрд▓рдЧ рд╣реИ, рдФрд░ рдереАрдо рдХреЛ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрддрдВрдн рдмрдВрдзрди, рд╕реНрдкреАрдХрд░ рдЕрдиреБрдХреВрд▓рди

рдкрд┐рдЫрд▓реЗ рд╡рд┐рд╖рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмреЗрд╣рддрд░ рд╣реИред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рддреНрдпрд╛рдкрди рд╣реИ, рдпрд╣ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рдФрд░, рд╡рд╛рдХрдИ, рдорд╛рдиреНрдпрддрд╛) (рдореВрд▓ WPF рдореЗрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдиреБрдХрд╕рд╛рди рдкрд╛рда рдмреЙрдХреНрд╕ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХрд╛ рд╕рдордп рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ рдкрд╛рда рдмреЙрдХреНрд╕ )ред

рдЖрдк рдПрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реИрд▓реА рдФрд░ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрдпрдирдХрд░реНрддрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╢реИрд▓реА рдЪрдпрдирдХрд░реНрддрд╛ рднреАред рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдЯрд╛рдЗрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрдкреЗрдХреНрд╖рд┐рддред рдпрд╣ рдХреИрд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЯреНрд░реЗрдЧрд░ рдХреЗ рд╕рд╛рде рд╢реИрд▓реА рд╣реИ, рдпрд╣ рдЖрджреЗрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдХреЙрдореНрдкреЛрдиреЗрдиреНрдЯрдСрди рдЧреНрд░рд┐рдб рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ):
 <Style x:Key="SatetCellStyle" TargetType="telerik:GridViewCell"> <Setter Property="Background" Value="Transparent"/> <Style.Triggers> <DataTrigger Binding="{Binding Path=State.Code}" Value="new"> <Setter Property="Background" Value="Wheat"/> </DataTrigger> <DataTrigger Binding="{Binding Path=State.Code}" Value="confirmed"> <Setter Property="Background" Value="LightGreen"/> </DataTrigger> </Style.Triggers> </Style> 


рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ

рд╕рдм рдХреБрдЫ рдЕрднреА рднреА рдЕрдкреЗрдХреНрд╖рд┐рдд рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рд╕реНрддрд╛рд░ рдЧреНрд░рд┐рдб рдШреЛрд╖рдгрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 <telerik:RadGridView.ChildTableDefinitions> <telerik:GridViewTableDefinition /> </telerik:RadGridView.ChildTableDefinitions> <telerik:RadGridView.HierarchyChildTemplate> <DataTemplate> <telerik:RadGridView ItemsSource="{Binding Path=SalesOrderItems}" AutoGenerateColumns="False"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=SalesOrderItemId}" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Product.Name}" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </DataTemplate> </telerik:RadGridView.HierarchyChildTemplate> 

ComponentOne рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди DevExpress рдЬреИрд╕реА рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдирд╛ рдЕрднреА рднреА рджреВрд░ рд╣реИред

рдЧреНрд░рд┐рдб рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ, рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЧреНрд░рд┐рдб рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИред

рдЯреНрд░реА рдЧреНрд░рд┐рдб

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдЧреНрд░рд┐рдб рдЧреНрд░рд┐рдб рдореЗрдВ рд╣реА рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ GridViewTableDefinition рдХреЛ TreeListViewTableDefinition рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдкрд░реЗрд╢рд╛рди рдерд╛ рдФрд░ рдЕрдкрдиреА рддреБрд▓рдирд╛ рдкреНрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдмреЛрд▓реНрдб рдорд╛рдЗрдирд╕ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдРрд╕рд╛ рдПрдХ RadTreeListView рдШрдЯрдХ рд╣реИ , рдЬреЛ RadGridView рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреВрд░реНрд╡рдЬ, GridViewDataControl рд╣реИ , рдФрд░ рдпрд╣ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдорд╛рд░реНрдХрдЕрдк рд╣реИ:
 <telerik:RadTreeListView ItemsSource="{Binding Path=Departments}" AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Extended" ClipboardCopyMode="All"> <telerik:RadTreeListView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=DepartmentId}" Header="" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Name}" Header="" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Head.Name}" Header=""/> </telerik:RadTreeListView.Columns> <telerik:RadTreeListView.ChildTableDefinitions> <telerik:TreeListViewTableDefinition ItemsSource="{Binding Children}"/> </telerik:RadTreeListView.ChildTableDefinitions> </telerik:RadTreeListView> 

рдЬрдм рдЖрдк рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЧреНрд░рд┐рдб рдорд┐рд▓рддрд╛ рд╣реИ:


рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХрд╛ рд╕рдВрдпреЛрдЬрдиред рд╕реНрддрд░рд┐рдд рдХреЙрд▓рдо рд╣реЗрдбрд░ред

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рд╕рдВрдпреБрдХреНрдд рд╕реНрддрдВрдн рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 <telerik:RadGridView.ColumnGroups> <telerik:GridViewColumnGroup Header="" Name="StateGroup"/> </telerik:RadGridView.ColumnGroups> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="" ColumnGroupName="StateGroup"/> <telerik:GridViewDataColumn Header="" ColumnGroupName="StateGroup"/> <telerik:GridViewDataColumn Header="" ColumnGroupName="StateGroup"/> </telerik:RadGridView.Columns> 

рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЗрд╕реА рд╕рдордп, ComponentOne рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдиреА рд╣реБрдИ рд╣реИ:

рд▓реЗрдХрд┐рди рдЯреЗрд▓рд░рд┐рдХ рдбреЗрдЯрд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ, рдкрдВрдХреНрддрд┐ рд╣реЗрдбрд░ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдХреЙрд▓рдо рд╣реЗрдбрд░ (2 рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрддрд░) рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рджреБ: рдЦреА рд▓реЗрдХрд┐рди рд╕рд╣рдирд╢реАрд▓ред

WCF DataServices рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдФрд░ рд╕рдорд░реНрдерди рдХрд╛ рдЖрд▓рд╕реА рдкреЛрд╕реНрдЯ рд▓реЛрдбрд┐рдВрдЧ

рдЧреНрд░рд┐рдб рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЯреЗрд▓рд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдЧреНрд░рд┐рдб рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдореЗрдВ VirtualQueryableCollectionView рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЖрдЗрдЯрдореНрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рдЬрдм рдЧреНрд░рд┐рдб рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВрдЧреЗ рддреЛ рдбреЗрдЯрд╛ рдХреЗ рдЕрдЧрд▓реЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рднреА System.Linq.IQueryable рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ , рдЬреЛ рдЖрдкрдХреЛ рдРрд╕реА рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ:
 VirtualQueryableCollectionView EntityList; тАж var query = (DataServiceQuery) _dataContext.SalesOrders .IncludeTotalCount() .Sort(EntityList.SortDescriptors) .Where(EntityList.FilterDescriptors) .Skip(start) .Take(count); 

рдирддреАрдЬрддрди, рдХрдИ рдЖрдВрджреЛрд▓рдиреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрд▓рд╕реА рдЧреНрд░рд┐рдб рдорд┐рд▓рддрд╛ рд╣реИред

рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдПрдХреНрд╕реЗрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ

рдпрд╣ рд╕рдорд╛рди рд░реВрдк рд╕реЗ ComponentOne рдЧреНрд░рд┐рдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХрд┐ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреЛ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреНрд░рд┐рдб рдорд╛рд╕реНрдЯрд░ рднрд╛рдЧ рдХреЗрд╡рд▓ рдорд╛рд╕реНрдЯрд░ рдЯреЗрдмрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдЧрд╛, рдЯреНрд░реА рдЧреНрд░рд┐рдб рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдмрд┐рдирд╛ рдлреНрд▓реИрдЯ рдЯреЗрдмрд▓ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рд╣рдиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдмрдлрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ CopyingCellClipboardContent рдЗрд╡реЗрдВрдЯ рдХреЗ рдХреИрдкреНрдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЖрдк рдЕрдкрдиреА рджрд┐рд▓ рдХреА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрджреНрд░рдг рд╕рд╛рдордЧреНрд░реА

WPF рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд┐рдб рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдордВрдЪ рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреЗрд▓рд░рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг

5 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рд░реВрд╕реА рдФрд░ рдЪреАрдиреА рдирд╣реАрдВ рд╣реИред рд╕рд╛рдЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рддреЛ рдпрд╣ рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦрдиреЗ рд╕реЗ рддрдп рд╣реЛрддрд╛ рд╣реИред

рдпреВрдЖрдИ рд╕реНрд╡рдЪрд╛рд▓рди рд╕рдорд░реНрдерди

рдпрд╣ ComponentOne рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ - рдЧреНрд░рд┐рдб рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрднреА рднреА рдЧреНрд░рд┐рдб рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ RowIndex рдФрд░ ColumnIndex рдорд╛рди рд╢реВрдиреНрдп рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рдкрд╣рд▓реВ рдореЗрдВ, Xceed рдЧреНрд░рд┐рдб рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рдХрд▓рд╛ред

рдлреИрд╕рд▓рд╛

рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рд╕реНрдХреЛрд░рд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рдЭрдЯрдХреЗрджрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ (рдПрдХреНрд╕рд░реЗрдб рдХрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рд╕реА рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ)ред рд╣рд╛рдВ, рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЧреНрд░рд┐рдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдмрд╣реБрд╕реНрддрд░реАрдп рд╕реВрдЪреА рдХреЗ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЧреНрд░рд┐рдб рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдЕрдЧрд╕реНрдд 2008 рдХреА рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ ред рд▓реЗрдЦрдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╕рднреА 5 рдХрдВрдкрдирд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрддрд╛ рд╣реИрдВ, рдЙрд╕ рд╕рдордп рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рдЧреНрд░рд┐рдб рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред

4.5 рд╕рд╛рд▓ рд╣реЛ рдЧрдПред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣рд░ рдХреЛрдИ рдмрд╣реБрдд рдЖрдЧреЗ рдирд┐рдХрд▓ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЪреБрдирд╛рд╡ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред


рдпрджрд┐ рддреБрд▓рдирд╛ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣реЗрдВ рдФрд░ рдЪреБрдирд╛рд╡ рдкрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рджреЗрдВ, рддреЛ рдореИрдВ рдРрд╕рд╛ рдХрд╣реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕реА рд╕рдордп IQueryable рд╕рдорд░реНрдерди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рдХреЛрдИ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЧреНрд░рд┐рдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ, рддреЛ ComponentOne рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдореИрдВ рдЯреЗрд▓рд░рд┐рдХ рд╕реЗ рдЧреНрд░рд┐рдб рдкрд░ рд░рд╣реВрдВрдЧрд╛ред

рдпрджрд┐ рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд┐рдЫрд▓реЗ рджреЛ рдХреЗ рдмреАрдЪ рдлрдЯреЗ рд╣реБрдП рд╣реИрдВред рд╣рдореЗрдВ рд░реВрд╕реА рдФрд░ рдЪреАрдиреА рднрд╛рд╖рд╛рдУрдВ (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рдЕрдиреНрдп) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЧреНрд░рд┐рдб рдФрд░ WCF рдбреЗрдЯрд╛рд╕реЗрд╡рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЕрднреА рддрдХ рдЕрдВрддрд┐рдо рд╡рд┐рдХрд▓реНрдк рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реЛрдЧрд╛ рдЙрд╕рдХрд╛ рд╡рдЬрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рджреЛ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ (рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рдпрд╛ рдПрдХ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЧреНрд░рд┐рдб рдФрд░ WCF DataServices рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ)ред

Source: https://habr.com/ru/post/In167751/


All Articles