仓库管理系统27--项目完结

news2024/11/19 17:27:05

原创不易,打字不易,截图不易,多多点赞,送人玫瑰,留有余香,财务自由明日实现 

1、列表分页

这里我们以物资列表分页为例来讲讲如何实现分页,wpf中没有现成封装好的分页,需要自己封装实现。分页功能可能封装成一个用户控件,这里以最简单方式来实现,虽然功能不完美,界面不美丽,但总是基本功能还是有的。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using West.StoreMgr.Service;

namespace West.StoreMgr.View
{
    /// <summary>
    /// GoodsView.xaml 的交互逻辑
    /// </summary>
    public partial class GoodsView : UserControl
    {
        public GoodsView()
        {
            InitializeComponent();
            //窗体加载事件
            Loaded += (s, e) =>
            { 
                DataGridBind(Convert.ToInt32(label1.Content));
            };
        }
        public const int pageSize = 10;
        List<Goods> goodsdt = new GoodsService().Select();
        public int PageSum  = 0;     //总页数      

        /// <summary>
        /// 数据绑定
        /// </summary>
        /// <param name="pageIndex"></param>
        private void DataGridBind(int pageIndex)
        { 
            int recordsum = goodsdt.Count();  //表中记录总数 
            //判断总页数
            if (recordsum % pageSize == 0)
            {
                PageSum = recordsum / pageSize;
            }
            else
            {
                PageSum = recordsum / pageSize + 1;
            } 
            dataGrid1.ItemsSource = goodsdt.Skip((pageIndex - 1) * pageSize).Take(pageSize) ; 
            label1.Content = Convert.ToString(pageIndex);
            label2.Content = Convert.ToString(PageSum);
            label1d.Content = Convert.ToString(recordsum); 
        }


        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button7_Click(object sender, RoutedEventArgs e)
        {
            if (Convert.ToInt32(label1.Content) > 1)
            {
                DataGridBind(Convert.ToInt32(label1.Content) - 1);
            } 
        }

        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button8_Click(object sender, RoutedEventArgs e)
        { 
            if (Convert.ToInt32(label1.Content) < Convert.ToInt32(label2.Content))
            {
                DataGridBind(Convert.ToInt32(label1.Content) + 1);
            } 
        }

        /// <summary>
        /// 调转到第n页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button9_Click(object sender, RoutedEventArgs e)
        { 
            if (Convert.ToInt32(textBox1.Text) >= 1 && Convert.ToInt32(textBox1.Text) <= Convert.ToInt32(label2.Content))
            {
                DataGridBind(Convert.ToInt32(textBox1.Text));
            } 
        }
    }
}

 

2、文章回顾

仓库管理系统01--数据库介绍-CSDN博客

仓库管理系统02--搭建程序框架-CSDN博客

仓库管理系统03--设计登录页面-CSDN博客

仓库管理系统04--创建业务逻辑-CSDN博客

仓库管理系统05--实现登录-CSDN博客

仓库管理系统06--主窗体设计-CSDN博客

仓库管理系统07--顶部标题设计-CSDN博客

仓库管理系统08--首页面板设计-CSDN博客

仓库管理系统09--修改用户密码-CSDN博客

仓库管理系统10--修改用户信息_CSDN博客

仓库管理系统11--物资设置-CSDN博客

仓库管理系统12--供应商设置-CSDN博客

仓库管理系统13--物资设置-CSDN博客

仓库管理系统14--仓库设置-CSDN博客

仓库管理系统15--规格设置-CSDN博客

仓库管理系统16--入库管理-CSDN博客

仓库管理系统17--客户管理-CSDN博客

仓库管理系统18--出库管理-CSDN博客

仓库管理系统19--盘存管理-CSDN博客

仓库管理系统20--库存查询-CSDN博客

仓库管理系统21--入库查询-CSDN博客

仓库管理系统22--出库查询-CSDN博客

仓库管理系统23--用户管理-CSDN博客

仓库管理系统24--统计报表-CSDN博客

仓库管理系统25--数据导出-CSDN博客

仓库管理系统26--权限设置-CSDN博客

仓库管理系统27--项目完结-CSDN博客

3、项目总结 

 本项目是一个基于C#+WPF实现的仓库管理系统,系统规模较小,适合入门级的项目练练手,但项目还是具有较高的学习价值,它采用mvvmlight框架,EF框架,WPF前端等技术构成。对于学习来说,可以学习到MVVM模型的深刻应用,用户控件的完美应用,是掌握WPF开发技术的一大力作,学习就是要逐步拔高,层层进步,有这个项目练手,其他wpf项目拿捏得死死的,整个项目分27次完工,真是太帅了,是你的良师益友,元气响响,打工加油。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1890464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提升Unity WebGL游戏启动速度

一、查看启动耗时 通过修改unity-namespace.js中hideTimeLogModal为false&#xff0c;显示timelog开发者可以看到小游戏目前的启动首屏时长&#xff1a; 将其设置为false后&#xff0c;启动小程序后就会显示启动耗时 要知道各个阶段的含义&#xff0c;我们必要理解启动流程。 …

CDC模型

引言 聚类是一种强大的机器学习方法&#xff0c;用于根据特征空间中元素的接近程度发现相似的模式。它广泛用于计算机科学、生物科学、地球科学和经济学。尽管已经开发了最先进的基于分区和基于连接的聚类方法&#xff0c;但数据中的弱连接性和异构密度阻碍了其有效性。在这项…

基于Java英语学习网站设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

玩玩快速冥(LeetCode50题与70题以及联系斐波那契)

一.算法快速幂 今天刷到两个题,比较有意思,还是记录一下. 先来讲讲50题. LeetCode50(Pow(x,n)) 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;xn &#xff09;。 这道题一看很平常啊,不就一直乘嘛,循环走一次就够了.但是很抱歉,单纯的想…

计算机网络知识普及之四元组

在涉及到TCP/UDP等IP类通信协议时&#xff0c;存在四元组概念 这里只是普及使用 先来一些前置知识&#xff0c;什么是IP协议&#xff1f; IP协议全称为互联网协议&#xff0c;处于网络层中&#xff0c;主要作用是标识网络中的设备&#xff0c;每个设备的IP地址是唯一的。 在网…

ASO优化:如何提高应用的可见性

在竞争激烈的应用市场中ASO优化成为了提高应用可见性的重要手段。以下是一些提高应用可见性的方法&#xff1a; 1. 选择合适的关键词 找出和您应用高度相关并且具有一定搜索量的关键词&#xff0c;确保关键词与应用的核心功能和用户搜索意图匹配。比如&#xff1a;当您的应用是…

【Rust入门】生成随机数

文章目录 前言随机数库rand添加rand库到我们的工程生成一个随机数示例代码 总结 前言 在编程中&#xff0c;生成随机数是一种常见的需求&#xff0c;无论是用于数据分析、游戏开发还是模拟实验。Rust提供了强大的库来帮助我们生成随机数。在这篇文章中&#xff0c;我们将通过一…

1.4 ROS2集成开发环境搭建

1.4.1 安装VSCode VSCode全称Visual Studio Code&#xff0c;是微软推出的一款轻量级代码编辑器&#xff0c;免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT 等特性&#xff0c;支持插件…

谈谈浏览器的事件机制:捕获、冒泡

浏览器事件的传播有三个阶段&#xff1a;捕获阶段&#xff0c;目标阶段&#xff0c;冒泡阶段 第一部分称为捕获阶段&#xff0c;该阶段包括从舞台到目标节点的父节点范围内的所有节点。第二部分称为目标阶段&#xff0c;该阶段仅包括目标节点。第三部分称为冒泡阶段。冒泡阶段包…

安装Gitlab+Jenkins

GItlab概述 GitLab概述&#xff1a; 是一个利用 Ruby on Rails 开发的开源应用程序&#xff0c;实现一个自托管的Git项目仓库&#xff0c;可通过Web界面进行访问公开的或者私人项目。 Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。 GitLab拥有与…

工业一体机根据软件应用需求灵活选配

在当今工业领域&#xff0c;数字化、智能化的发展趋势愈发明显&#xff0c;工业一体机作为关键的设备&#xff0c;其重要性日益凸显。而能够根据软件应用需求进行灵活选配的工业一体机&#xff0c;更是为企业提供了高效、定制化的解决方案。 一、工业一体机的全封闭无风扇散热功…

【软件测试】性能测试 | 概念 | 常见术语 | 性能指标 | 分类 | 流程

性能测试 文章目录 性能测试一、什么是性能测试1.生活中遇到的软件的性能问题2.性能测试定义3.性能测试和功能测试有什么区别4.什么样的表现属于软件性能好、什么样的表现不好5.影响一个软件性能因素有哪些 二、为什么进行性能测试三、性能测试的常见术语以及性能测试的衡量指标…

深入了解自动化:聊聊什么项目适合做自动化测试?

自动化测试 什么是自动化测 什么是自动化测试&#xff1f; 随着软件产业的不断发展&#xff0c;市场对软件周期的要求越来越高&#xff0c;于是催生了各种开发模式&#xff0c;如大家熟知的敏捷开发&#xff0c;从而对测试提出了更高的要求。此时&#xff0c;产生了自动化测试…

双指针系列第 8 篇:盛水最多的容器。几句话讲明白!

Leetcode 题目链接 思路 取首尾双指针和水量如下所示&#xff0c;设高度函数为 h ( i ) h(i) h(i)&#xff0c;在下图中 h ( l ) < h ( r ) h(l) < h(r) h(l)<h(r)。 观察以 l l l 为左边界所能构成的其他水量&#xff0c;与矮的右边界搭配结果如下。 与高的…

LLM大模型中LoRA是什么?面试经验回答汇总(2024.7月最新)

目录 1 什么是 LoRA&#xff1f; 2 LoRA 的思路是什么&#xff1f; 3 LoRA 的特点是什么&#xff1f; 4 简单描述一下 LoRA? 5 QLoRA 的思路是怎么样的&#xff1f; 6 QLoRA 的特点是什么&#xff1f; 7 AdaLoRA 的思路是怎么样的&#xff1f; 8 LoRA权重是否可以合入…

乘用车副水箱浮球式液位计传感器

浮球式液位计概述 浮球式液位计是一种利用浮球在液体中浮动的原理来测量液位的设备&#xff0c;广泛应用于各种工业自动化控制系统中&#xff0c;如石油化工、水处理、食品饮料等行业。它通过浮球的上下运动来测量液位的高低&#xff0c;具有结构简单、安装方便、测量范围广、…

02:vim的使用和权限管控

vim的使用 1、vim基础使用1.1、vim pathname 2、vim高级用法2.1、查找2.2、设置显示行号2.3、快速切换行2.4、 行删除2.5、行复制粘贴 3、权限管理3.1、普通用户和特权用户3.2、文件权限表示 vim是Linux中的一种编辑器&#xff0c;类似于window中的记事本&#xff0c;可以对创建…

[工业网络] 模型建立

普渡大学ICS参考模型 普渡企业参考架构&#xff08;PERA&#xff09;是由西奥多J威廉姆斯&#xff08;Theodore J. Williams&#xff09;和普渡大学计算机集成制造工业大学联盟的成员在1990年代开发的企业架构参考模型。该模型被ISA-99&#xff08;现为ISA/IEC 62443&#xff…

开发者聊科学作息时间表

非常有幸对科学作息时间表app的开发者做一次采访。 问&#xff1a;你对科学作息时间表app满意么&#xff1f; 答&#xff1a;非常不满意&#xff0c;我们的设想是让他更智能&#xff0c;更多的提醒方式&#xff0c;更好的交互体验。如果作为一个闹钟他是非常不合格的&#xff0…

自然语言处理学习(2)基本知识 文本预处理+文本数据分析+文本增强

conda activate DL conda deactivate课程链接 一 一些包的安装 1 stanfordcorenlp 在anoconda prompt 里面&#xff1a;进入自己的conda环境&#xff0c;pip install stanfordcorenlp 进入方式 相关包下载&#xff0c;Jar包我没有下载下来&#xff0c;太慢了&#xff0c;这个…