在开发WinForm窗体程序时,我希望增加一个对DataGridView数据进行查找的对话框,类似于Visual Studio中的“查找和替换”对话框,但是功能没有这么复杂,需求如下:  1. 用户可以通过主窗体中的菜单打开窗口。  2. DataGridView数据未加载前不显示查找对话框。  4. 查找对话框以非模式对话框的形式显示在主窗体的上面。  6. 用户可以在查找对话框中DataGridView中的数据进行循环查找,即用户输入年的值后,系统会根据用户输入的年,显示每个月的值

解决方案 »

  1.   

    一般并不需要 弹出一个窗体来进行查询,这样反而增加了窗体之间传值的麻烦。完全可以将查询条件放置DataGridView上边区域,在同一个窗口处理查询起来就比较容易些。
    查询显示年月日,组织好查询语句,按需返回结果展示即可。
      

  2.   


    输入完敲回车执行啊//计算按钮
            private void button1_Click(object sender, EventArgs e)
            {
                int nian = int.Parse(this.textBox2.Text);  //获取用户输入的年
                for (int i = 1; i < (nian * 12) + 1; i++)  //对用户输入的年进行判段,使用for循环输出每个月的数据
                {
                    string sql = string.Format("select OriginalValue/{0} 折旧额 ,sum(OriginalValue/{1}) 累计折旧 ,OriginalValue-(OriginalValue/{2}) " +
                        "from  Assets where AssetsID={3} group by OriginalValue", i, i, i, comboBox1.Text);
                    DataTable dataTable;
                    dataTable = DBHelper.GetDataTable(sql);
                    this.dataGridView1.DataSource = dataTable;
                }
            }
    你看看这我计算按钮里面的代码
      

  3.   

    i < (nian * 12) + 1这个是啥意思?输出每个月直接i<13就行了
      

  4.   

    加个微信吧liulang340