我用一下拉框显示表名,选中不同表名里,在datagrid里显示该表数据,每个表对应一个样式表格,每个样式表格的前几列都是一样的,且为只读,当选了A表后,datagrid显示出了A表的数据,将该表某行的某个只读列选中里面文字,然后再到下拉框里选择B表,datagrid里显示出了B表数据,但先前选中数据的那个格子上却有一块格子浮在一面,拉动dg的底部的滚动条,那浮动的格子却保存位置不动,也就是不管显示哪个表数据里选中了某个单元格数据,都会浮动在dg上,去不掉!这怎么回事啊!
解决方案 »
- 怎么锁定输入法
- c#菜鸟级编程题目
- 求救:c#中picturebox中用graphics画的图怎么保存成图片出来啊
- c#调用activemq的DLL
- C#调用API(关于Void*类型参数为NULL)
- CheckedListBox.DataSource 绑定后无法显示!!高级BUG
- 在winform下,如何让DataGrid中一个列头单元格中显示多行,或让一个普通单元格显示多行,谢谢了,也给你们送分了!
- 开发桌面数据库应用程序,C#能强过VB和DELPHI吗?
- 在richTextBox中,当用户按下一个按键,我如何才能知道当前光标在第几行、第几列?
- 怎样把JB7的Jdk和Tomcat升级成Jdk1.4和Tomcat4.18
- 求一正则的写法
- 怎么累加数据表中的字符串
string tablename = cmb_tablename.SelectedValue.ToString();
binddg("select * from "+tablename,tablename);绑定的函数
private void binddg(string sqlstr,string tablename,string headtext)
{
ds = new DataSet();
OleDbConnection oledbcon = new OleDbConnection(dbfun.access_str);
OleDbDataAdapter da = new OleDbDataAdapter(sqlstr,oledbcon);
da.Fill(ds,tablename);
ds.Tables[tablename].DefaultView.AllowNew = false;
dg_fl.DataSource = ds.Tables[tablename].DefaultView;
}
怎么看也没什么东西,而且那些在样式列里没有设为只读的,就不会出现这个问题!
看图例
图1:A表里某只读列,我点击一下,底部为控件色,显示不能编辑
http://fisher.xundain.com/other/1.gif
图2:选择B表,显示出的数据与A是不同的,但先前点击了一下的那个单元格里的字却盖住了B的部分数据,位置不会变
http://fisher.xundain.com/other/2.gif
而且只要点一次后面就会多一块,不会变少,只会增多!真搞不懂了,请各位帮忙,谢谢!