c# datagridview 逐条验证数据

gld2009 2009-12-08 10:18:24
点击“验证”按钮逐条验证表格(datagridview)数据(包括字符类型的长度、数字字段的类型),并将结果逐条显示在textbox中,怎么实现?
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["区域简称"] == "")
{

}
if (ds.Tables[0].Rows[i]["区域全称"] == "")
{

}
}
这是我自己写的代码,后面不知道怎么写了.......
...全文
201 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
坐看昀起 2009-12-08
  • 打赏
  • 举报
回复

/// <summary>
/// 验证方法
/// </summary>
/// <param name="dgv">DataGridView控件</param>
public void VerificationFunction(DataGridView dgv)
{
//循环DataGridView获得所有单元格
for (int i = 0; i < dgv.ColumnCount; i++)
{
for (int j = 0; j < dgv.RowCount; j++)
{
//判断单元格类型
if (dgv[i, j].ValueType != "你要判断的类型")
{
MessageBox.Show("类型不正确!");
}

//判断显示单元内容的长度
if (dgv[i, j].Value.ToString().Length != "你要显示的数据长度")
{
MessageBox.Show("单元格的内容长度有问题");
}

//获得DataGridView的单元格值
txtContent.Text = dgv[i, j].Value.ToString();
}
}
}


gld2009 2009-12-08
  • 打赏
  • 举报
回复
请教高手
gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 liherun 的回复:]
我都晕了,你那个ds是dataset
[/Quote]是啊,不可以的吗
tkscascor 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 shenyanj1988 的回复:]
引用楼主 gld2009 的回复:

看了你写的代码,我从昨天下午到今天早上一直没解决的错误,终于解决了,谢谢楼主发这个帖子啊。
[/Quote]
....
liherun 2009-12-08
  • 打赏
  • 举报
回复
我都晕了,你那个ds是dataset
misssdf 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 gld2009 的回复:]
点击“验证”按钮逐条验证表格(datagridview)数据(包括字符类型的长度、数字字段的类型),并将结果逐条显示在textbox中,怎么实现?
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (ds.Tables[0].Rows[i]["区域简称"] == "")
                {
                   
                }
                if (ds.Tables[0].Rows[i]["区域全称"] == "")
                {

                }
            }
这是我自己写的代码,后面不知道怎么写了.......
[/Quote]
看了你写的代码,我从昨天下午到今天早上一直没解决的错误,终于解决了,谢谢楼主发这个帖子啊。
SuqianHome 2009-12-08
  • 打赏
  • 举报
回复
foreach(DataRow Dr in ds.Tables[0].Rows)
{
if (Dr["区域简称"] == "")
{
MessageBox.Show("区域简称不能为空")
}
if (Dr["区域全称"] == "")
{
MessageBox.Show("区域全称不能为空")
}
}
SuqianHome 2009-12-08
  • 打赏
  • 举报
回复

foreach(DataRow Dr in ds.Tables[0].Rows)
{
if (Dr["区域简称"] == "")
{
MessageBox.Show("区域简称不能为空")
}
if (ds.Tables[0].Rows[i]["区域全称"] == "")
{
MessageBox.Show("区域全称不能为空")
}
}

gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 liherun 的回复:]
this.dataGridView1.Columns["区域简称"].ValueType
[/Quote]
能不能具体点
liherun 2009-12-08
  • 打赏
  • 举报
回复
this.dataGridView1.Columns["区域简称"].ValueType
gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liherun 的回复:]
就是TextBox 想显示什么内容
[/Quote]
textbox里显示第几行第几列的字符类型,长度是不是对的
gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liherun 的回复:]
C# codefor (int i=0; i< ds.Tables[0].Rows.Count; i++)
{if (ds.Tables[0].Rows[i]["区域简称"]=="")
{

}if (ds.Tables[0].Rows[i]["区域全称"]=="")
{

}
}
如果你想验证两俩的话这样写是对的
你都想验证什么?
[/Quote]
我的表格有区域简称(nvarchar 64),区域全称(nvarchar 64),序号(int)三列,
这三列在datagridview显示出来后,我点击“验证”按钮,验证表格里面数据的字符的长度,字符的类型是不是正确的
liherun 2009-12-08
  • 打赏
  • 举报
回复
就是TextBox 想显示什么内容
liherun 2009-12-08
  • 打赏
  • 举报
回复
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
{
if (ds.Tables[0].Rows[i]["区域简称"] == "")
{

}
if (ds.Tables[0].Rows[i]["区域全称"] == "")
{

}
}

如果你想验证两俩的话这样写是对的
你都想验证什么?
gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liherun 的回复:]
你dategridview有几列?
[/Quote]
3列
liherun 2009-12-08
  • 打赏
  • 举报
回复
你dategridview有几列?
gld2009 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 server126 的回复:]
delegate很简单
[/Quote]
什么东西啊?详细点
PSSonyXbox 2009-12-08
  • 打赏
  • 举报
回复
delegate很简单
gld2009 2009-12-08
  • 打赏
  • 举报
回复
if (ds.Tables[0].Rows[i]["区域简称"].ToString() == "")
{
this.dgvReadData.Columns["区域简称"].ValueType = typeof(char);
if (this.dgvReadData.Columns["区域简称"].ToString().Length > 8)
{

}
}
if(...>8){ 这里该怎么写了啊}
gld2009 2009-12-08
  • 打赏
  • 举报
回复
this.dgvReadData.Columns["区域简称"].ValueType = typeof(char);这是数字字段类型
那字符类型的长度的语句是怎么样的啊?请教
加载更多回复(5)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧