导入excel数据到datagridview中,读取第一列数据,并通过一个timer进行重复显示,设置一个button,按下第一次,在textbox中开始显示数据,按下button第二次,timer停止,显示出来一个数。按下第三次,timer启动,在textbox中开始显示数据,按下button第四次,timer停止,显示出第二个数,依次类推。如果想实现每次显示的数都不同,应如何做?
(下面是timer的内容)
private void timer1_Tick(object sender, EventArgs e)
{
DataRow myRow = myData[dataIdx];
string strdata = myRow.ItemArray[0].ToString();
this.textBox1.Text = strdata;
dataIdx++;
if (dataIdx >= myData.Count)
dataIdx = 0;
}
(下面是timer的内容)
private void timer1_Tick(object sender, EventArgs e)
{
DataRow myRow = myData[dataIdx];
string strdata = myRow.ItemArray[0].ToString();
this.textBox1.Text = strdata;
dataIdx++;
if (dataIdx >= myData.Count)
dataIdx = 0;
}
先将excel读到dataset表1
循环表1
{
定义变量i记录当前行数(每当在datagridvew中插入行i++)
遍历datagridview看要录入的信息在datagridview中是否重复
if 不重复
{
datagridview.Rows.add();
datagridview.Rows[i].cell[0].value = "aa";
datagridview.Rows[i].cell[1].value = "bb";
}
}
如果datagridview里面 那么肯定是全部显示的,除非你用select筛选,
然后使用一个 Dictionary<string,string>
每次显示一个 往 字典里加一个 KEY 判断KEY是否存在 不存在增加,存在就不增加
同时要每次都查一下 字典里有多少KEY KEY的数量如果与你EXCEL记录数量相同,提示已经全部展示完
无可用记录,要么清空字典 重新展示 要么换EXCEL读取同时清空字典
你只要做一个东西来区分就行,,,你只要把你取的数 放到字典里 每次查询字典里是否有此KEY
有就继续找 没有就增加这个KEY 同时展示