小编Kal*_*ale的帖子

MVVM正确的方式

我在其他关于如何实现MVVM的问题中得到了提示.在Student类本身进行更改时(我在项目中发生了很多变化),我在将绑定更新传递给GUI时遇到了问题.有没有办法简化这些事情并以比实现更紧凑的方式使用它?或者这是实现MVVM的最先进技术?

class MainWindowViewModel : INotifyPropertyChanged
{
   ObservableCollection<StudentViewModel> studentViewModels = new ObservableCollection<StudentViewModel>();

   public ObservableCollection<StudentViewModel> StudentViewModels
   {
      get { return studentViewModels; }
   }

   public MainWindowViewModel()
   {
      studentViewModels.Add(new StudentViewModel());
      studentViewModels.Add(new StudentViewModel());
      studentViewModels.Add(new StudentViewModel());
   }

   public event PropertyChangedEventHandler PropertyChanged;
   internal void OnPropertyChanged(String propertyName)
   {
      if (PropertyChanged != null)
      {
         PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
      }
   }
}


class StudentViewModel : INotifyPropertyChanged
{
   Student model;
   public String StudentFirstName
   {
      get { return model.StudentFirstName; }
      set { model.StudentFirstName = value; }
   }
   public String StudentLastName
   {
      get { …
Run Code Online (Sandbox Code Playgroud)

c# wpf binding mvvm

2
推荐指数
1
解决办法
2392
查看次数

MS SQL - 与group by一起加入

我对SQL非常陌生,并且从"SAMS Teach Yourself SQL in 24 hours"一书中学到了它.我关心的是连接和分组选择输出.这是我的表的结构:

CREATE TABLE ORDERS_TBL
( ORD_NUM VARCHAR(10) NOT NULL primary key,
  CUST_ID VARCHAR(10) NOT NULL,
  PROD_ID VARCHAR(10) NOT NULL,
  QTY INTEGER NOT NULL,
  ORD_DATE DATE );

CREATE TABLE PRODUCTS_TBL
( PROD_ID VARCHAR(10) NOT NULL primary key,
  PROD_DESC VARCHAR(40) NOT NULL,
  COST DECIMAL(6,2) NOT NULL );
Run Code Online (Sandbox Code Playgroud)

我想要实现的是通过我的PROD_ID分组的连接操作.

SELECT P.PROD_DESC, SUM(O.QTY)
    FROM PRODUCTS_TBL AS P LEFT JOIN ORDERS_TBL AS O
    ON P.PROD_ID = O.PROD_ID
    GROUP BY P.PROD_ID
    ORDER BY P.PROD_ID;
Run Code Online (Sandbox Code Playgroud)

上面的查询适用于MySQL,但不适用于我的MS SQL环境.什么工作,但很烦人,因为我不想在我的输出中看到PROD_ID.

SELECT P.PROD_ID, P.PROD_DESC, SUM(O.QTY) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server group-by

1
推荐指数
1
解决办法
1万
查看次数

WPF MVVM 双向更新

我正在尝试使用此示例设置有效的双向更新。

这些是相关的代码片段:

XAML:

<Button Click="clkInit">Initialize</Button>
<Button Click="clkStudent">Add student</Button>
<Button Click="clkChangeStudent">Change students</Button>
(...)
<TabControl Name="tabControl1" ItemsSource="{Binding StudentViewModels}" >
   <TabControl.ItemTemplate>
      <DataTemplate>
         <TextBlock Text="{Binding Path=StudentFirstName}" />
      </DataTemplate>
   </TabControl.ItemTemplate>
   <TabControl.ContentTemplate>                
      <DataTemplate>
         <Grid>
            <Label Content="First Name" Name="label1" />
            <TextBox Name="textBoxFirstName" Text="{Binding Path=StudentFirstName}" />
            <Label Content="Last Name" Name="label2" />
            <TextBox Name="textBoxLastName" Text ="{Binding Path=StudentLastName}" />
         </Grid>                    
      </DataTemplate>
   </TabControl.ContentTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

主窗口:

public partial class MainWindow : Window
{
    internal MainWindowViewModel myMWVM;
    public MainWindow()
    {
       InitializeComponent();
    }

    private void clkInit(object sender, RoutedEventArgs e)
    {
       myMWVM= new …
Run Code Online (Sandbox Code Playgroud)

c# wpf binding mvvm

0
推荐指数
1
解决办法
6682
查看次数

标签 统计

binding ×2

c# ×2

mvvm ×2

wpf ×2

group-by ×1

sql ×1

sql-server ×1