c#数据绑定之将datatabel的data添加listView

 更新时间:2014年04月10日 14:15:22   作者:  
这篇文章主要介绍了c#将DataTabel的data添加ListView的示例,实现功能是通过响应UI Textbox 的值向ListView 绑定新添加的纪录。 ,需要的朋友可以参考下



功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录。

UI XAML 代码

复制代码 代码如下:

<Grid Margin="5">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition  Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <TextBlock  Grid.Row="0" Grid.Column="0" Text="商品名称" HorizontalAlignment="Right" VerticalAlignment="Center" />
            <TextBox Grid.Row="0" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComName}" Name="tbkName"/>
            <TextBlock  Grid.Row="1" Grid.Column="0" Text="商品进货单价" HorizontalAlignment="Right" VerticalAlignment="Center" />
            <TextBox Grid.Row="1" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComInPrice}" Name="tbkInPrice"/>
            <TextBlock  Grid.Row="2" Grid.Column="0" Text="商品零售价格" HorizontalAlignment="Right" VerticalAlignment="Center" />
            <TextBox Grid.Row="2" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComOutPrice}" Name="tbkOutPrice"/>
            <TextBlock  Grid.Row="3" Grid.Column="0" Text="进货数量" HorizontalAlignment="Right" VerticalAlignment="Center" />
            <TextBox Grid.Row="3" Grid.Column="1" Margin="2" VerticalAlignment="Center" Text="{Binding Path=ComOutPrice}" Name="tbkComCount"/>

            <Button Grid.Row="4" Grid.Column="1" Content="添加新纪录" Margin="2" Padding="2" Name="btnAdd" Click="btnAdd_Click" />

            <TextBlock Grid.Row="5" Grid.ColumnSpan="2"  HorizontalAlignment="Stretch"  VerticalAlignment="Center"  Background="Black" />

            <ListView Name="lstDisplay" ItemsSource="{Binding}" Grid.Row="6" Grid.ColumnSpan="2">
                <ListView.View>
                    <GridView>
                        <GridView.Columns>
                            <GridViewColumn  Header="AutoID" DisplayMemberBinding="{Binding AutoID}"/>
                            <GridViewColumn Header="商品名称" DisplayMemberBinding="{Binding ComName}"/>
                            <GridViewColumn Header="进货价格" DisplayMemberBinding="{Binding Path=ComInPrice,StringFormat={}{0:c}}"/>
                            <GridViewColumn Header="零售价格" DisplayMemberBinding="{Binding Path=ComOutPrice,StringFormat={}{0:c}}"/>
                            <GridViewColumn Header="进货数量" DisplayMemberBinding="{Binding ComCount}"/>
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>
        </Grid>

c#后代码

复制代码 代码如下:

DataTable Commodity = newTable();

        public MainWindow()
        {
            InitializeComponent();
            //DataTable Commodity = newTable();

        }

      

        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {

            addNewMember(Commodity);
            lstDisplay.DataContext = Commodity;

        }

        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Button b = sender as Button;
            Int32 AutoID = Convert.ToInt32(b.CommandParameter);
            delMember(Commodity, AutoID);
            lstDisplay.DataContext = Commodity;
            lstDisplay.Items.Refresh();

        }

        private DataTable delMember(DataTable Table,Int32 laction)
        {
            //Deleting  a existed row in datatable Commodity;
            DataRow delRow = Table.Rows.Find(laction);
            Table.Rows.Remove(delRow);
            return Table;
        }

        private  DataTable addNewMember(DataTable Table)
        {
           

            //inserting a new row in datatable Commodity;

            DataRow newRow = Table.NewRow();
            newRow["ComName"] = tbkName.Text;
            newRow["ComInPrice"] = tbkInPrice.Text;
            newRow["ComOutPrice"] = tbkOutPrice.Text;
            newRow["ComCount"] = tbkComCount.Text;
            Table.Rows.Add(newRow);
            return Table;
        }

 

        private static DataTable newTable()
        {
            //Create a new table named Commodity
            DataTable commodity = new DataTable("Commodity");


            //instert new columns
            DataColumn auto = new DataColumn("AutoID", typeof(Int32));
            //setting the column auto increment
            auto.AutoIncrement = true;
            commodity.Columns.Add(auto);
            commodity.Columns.Add("ComName", typeof(string));
            commodity.Columns.Add("ComInPrice", typeof(double));
            commodity.Columns.Add("ComOutPrice", typeof(double));
            commodity.Columns.Add("ComCount", typeof(System.Int32));
            commodity.PrimaryKey = new DataColumn[] { commodity.Columns[0] };
            return commodity;
        }

相关文章

  • 利用多线程句柄设置鼠标忙碌状态的实现方法

    利用多线程句柄设置鼠标忙碌状态的实现方法

    怎样利用多线程句柄设置鼠标忙碌状态呢?下面小编就为大家介绍一下具体的实现方法吧!需要的朋友可以过来参考下
    2013-08-08
  • C#使用GZipStream实现文件的压缩与解压

    C#使用GZipStream实现文件的压缩与解压

    这篇文章主要为大家详细介绍了C#使用GZipStream实现文件的压缩与解压,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Winform控件优化Paint事件实现圆角组件及提取绘制圆角的方法

    Winform控件优化Paint事件实现圆角组件及提取绘制圆角的方法

    这篇文章主要介绍了Winform控件优化Paint事件实现圆角组件及提取绘制圆角的方法,Windows 11下所有控件已经默认采用圆角,其效果更好、相对有着更好的优化,只是这是默认的行为,无法进一步自定义,更多详情需要的小伙伴可以参考下面文章内容
    2022-08-08
  • C# System.TypeInitializationException 异常处理方案

    C# System.TypeInitializationException 异常处理方案

    这篇文章主要介绍了C# System.TypeInitializationException 异常处理方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C# 9.0 特性全面总结

    C# 9.0 特性全面总结

    这篇文章主要介绍了C# 9.0 特性的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#中struct和class的区别详解

    C#中struct和class的区别详解

    这篇文章主要介绍了C#中struct和class的区别,对C#初学者来说是需要牢固掌握的,需要的朋友可以参考下
    2014-08-08
  • C#委托用法详解

    C#委托用法详解

    本文详细讲解了C#中委托的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 关于C#连接SQL Server时提示用户登录失败的解决方法

    关于C#连接SQL Server时提示用户登录失败的解决方法

    在用C#开发windows端程序并连接SQL Server时有可能会遇到数据库登录失败的问题,下面小编给大家带来了C#连接SQL Server时提示用户登录失败的解决方法,感兴趣的朋友一起看看吧
    2021-11-11
  • WPF利用RPC调用其他进程的方法详解

    WPF利用RPC调用其他进程的方法详解

    这篇文章主要给大家介绍了关于WPF利用RPC调用其他进程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • C#开发Winform实现学生管理系统

    C#开发Winform实现学生管理系统

    这篇文章介绍了C#开发Winform实现学生管理系统的项目案例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05

最新评论