日期:2014-05-20  浏览次数:20989 次

WPF中的DataGrid修改数据的问题
C# code

  <DataGridTemplateColumn Header="数量">
                                <DataGridTemplateColumn.CellEditingTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Count}" />
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellEditingTemplate>
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <TextBox Text="{Binding Count}"  ></TextBox>
                                            <Button Content="+"></Button>
                                            <Button Content="-"></Button>
                                        </StackPanel>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>


在一个DataGridTemplate 中,有一个TextBox 和两个button ,一个为 +1 一个为 -1
点击“+”按钮,在TextBox 中的数字要 +1
点击“-”按钮,在TextBox 中的数字要 -1
并返回到数据中。就是类似于Ext.net 中 Spinner 控件,

下面是绑定数据的方法
[b][/b]
C# code

 /// <summary>
        /// 绑定数据到数据显示表格
        /// </summary>
        private void DataGridProductBind() {

            List<Model.Product> list; 
            if (Variable.ProductBindType.ToLower() == "all")
            {
                list = Variable.Products;
            }
            else if (Variable.ProductBindType.ToLower() == "selected")
            {
                list = Variable.Products.Where(n => n.Count > 0 || n.IsExport).ToList();
            }
            else {
                list = Variable.Products.Where(n => n.ProductCategoryID.Equals(ConvertHelper.ObjectToGuid(Variable.ProductBindType, Guid.Empty))).ToList();
            }
            DemandBind();
            this.dgProduct.ItemsSource = null;
            this.dgProduct.ItemsSource = list;
        }




------解决方案--------------------
1 你的问题是什么?
2 既然用WPF,有限考虑XAML中进行数据绑定