问题  DataGridView中的乘法表?

桥间千司

新成员
已加入
2014年6月11日
留言内容
2
编程经验
Beginner
您好,我是C#的初学者,已经编写了一个程序。这是代码:
C#:
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            double of = 0;
            double from = 0;
            double to = 0;
            double ans = 0;
            Table.Items.Clear();
            if (double.TryParse(Of.Text, out of) && double.TryParse(From.Text, out from) && double.TryParse(To.Text, out to))
            {


                for (double i = from; i <= to; i++)
                {
                    ans = i * of;
                    Table.Items.Add(of + " x " + i + " = " + ans.ToString());
                }
            }
            else
            {
                MessageBox.Show("Please enter a valid value");
            }
        }
视觉工作室...
这是一个乘法表生成器。我注意到,为列表框添加太多行使程序挂起。有人告诉我,我可以使用数据网格视图来解决该问题。但是,由于我是初学者,因此需要一些帮助。我已经搜索了Internet,但是它们都是有关如何将SQL数据添加到数据网格视图的代码。
任何帮助将不胜感激  :)
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,534
地点
悉尼,澳大利亚
编程经验
10+
是否使用ListBox或DataGridView的问题与项目数无关。如果做得正确,将相对大量的项目添加到ListBox不会有问题。如果没有正确的方法,将大量的项目添加到DataGridView的速度将变得同样慢,甚至变慢。问题是,您是否希望将一列简单的项目显示在一个列中,还是想要一个数据表在多列显示。如果是前者,则应使用ListBox;如果是后者,则应使用DataGridView。

如果确实使用ListBox,则不应循环调用Add。您应该将所有项目放入数组或集合中,然后调用AddRange或通过DataSource属性进行绑定以将所有项目添加到一个批处理中。

如果确实使用DataGridView,那么周围会有很多示例。数据是否来自数据库无关紧要。数据是数据,无论其来自何处,并且无论如何都以相同的方式添加到网格。同样,您可以直接添加数据,也可以将其放入适当的数据结构中并进行绑定。选择您要使用网格绑定还是未绑定,然后找到一个合适的示例。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,534
地点
悉尼,澳大利亚
编程经验
10+
是否使用ListBox或DataGridView的问题与项目数无关。如果做得正确,将相对大量的项目添加到ListBox不会有问题。如果没有正确的方法,将大量的项目添加到DataGridView的速度将变得同样慢,甚至变慢。问题是,您是否希望将一列简单的项目显示在一个列中,还是想要一个数据表在多列显示。如果是前者,则应使用ListBox;如果是后者,则应使用DataGridView。

如果确实使用ListBox,则不应循环调用Add。您应该将所有项目放入数组或集合中,然后调用AddRange或通过DataSource属性进行绑定以将所有项目添加到一个批处理中。

如果确实使用DataGridView,那么周围会有很多示例。数据是否来自数据库无关紧要。数据是数据,无论其来自何处,并且无论如何都以相同的方式添加到网格。同样,您可以直接添加数据,也可以将其放入适当的数据结构中并进行绑定。选择您要使用网格绑定还是未绑定,然后找到一个合适的示例。
 
最佳 底部