请教DATAGRIDVIEW问题一个,经常出现的 错误

zheng5233 2012-05-20 09:04:06
如题,
怎么错位了呢?
有没有大侠现身指点一二!!!!

void RefreshData()
{
string sqlStr;
//DataSet ds = new DataSet();
sqlStr = "select * from ZDML";
ds = sql.GetDataFromDB(sqlStr);
if (ds != null)
{
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[0].HeaderText = "诊断编码";
dataGridView1.Columns[0].Width = 85;
dataGridView1.Columns[1].HeaderText = "诊断名称";
dataGridView1.Columns[1].Width = 100;
dataGridView1.Columns[2].HeaderText = "诊断类别";
dataGridView1.Columns[2].Width = 100;
dataGridView1.Columns[3].HeaderText = "诊断分类";
dataGridView1.Columns[3].Width = 100;
dataGridView1.Columns[4].HeaderText = "诊断类型";
dataGridView1.Columns[4].Width = 85;
dataGridView1.Columns[5].HeaderText = "诊断临床表现";
dataGridView1.Columns[5].Width = 100;

}
else
{
dataGridView1.DataSource = null;
}
}

//全部显示
private void button5_Click(object sender, EventArgs e)
{
try
{
RefreshData();
}
catch (Exception ex)
{
sql.cn.Close();
MessageBox.Show(ex.Message);
}
}
这是我写的部分代码
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天罡gg 2012-05-20
  • 打赏
  • 举报
回复
在DataSource之前设置下列宽自动调整就行了
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.DataSource =...
qldsrx 2012-05-20
  • 打赏
  • 举报
回复
你既然用的是自动创建数据列的方式,就不要手动添加那些列,如果你要手动添加那些列,就不要自动创建列了。
手动添加的方式:
先将AutoGenerateColumns 属性设置为false。
再添加数据列,注意设置DataPropertyName为数据库对应列名。
EnForGrass 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
如题,
怎么错位了呢?
有没有大侠现身指点一二!!!!

void RefreshData()
{
string sqlStr;
//DataSet ds = new DataSet();
sqlStr = "select * from ZDML";
ds = sql.……
[/Quote]
控制显示的样式啊,比如width,height,Cloumn的Style
结婚兔 2012-05-20
  • 打赏
  • 举报
回复
dataGridView1.Columns[0].HeaderText = "诊断编码";
dataGridView1.Columns[0].Width = 85;
dataGridView1.Columns[1].HeaderText = "诊断名称";
dataGridView1.Columns[1].Width = 100;
dataGridView1.Columns[2].HeaderText = "诊断类别";
dataGridView1.Columns[2].Width = 100;
dataGridView1.Columns[3].HeaderText = "诊断分类";
dataGridView1.Columns[3].Width = 100;
dataGridView1.Columns[4].HeaderText = "诊断类型";
dataGridView1.Columns[4].Width = 85;
dataGridView1.Columns[5].HeaderText = "诊断临床表现";
dataGridView1.Columns[5].Width = 100;

换成 dataGridView1.Columns["ICDNO"].HeaderText ="诊断编码"; 这样就成了
人生无悔 2012-05-20
  • 打赏
  • 举报
回复
按这样写不会有问题,除非你在前台把datagridview的columns属性的每一列都设了,这样就会出现你说的情况。。。

110,571

社区成员

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

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

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