winform 中datagrid 如何插入行 如果想自己插入一行,首先得将m_Table.DefaultView.AllowNew设置为False;然后写程序的时候再更改AllowNew为True,这样DataGrid就不会自动新增一行了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我的代码,我成功的在第一行后插入一个新行... string m_ConnStr = "data source=127.0.0.1;database=pubs;user id=sa;password=sa"; SqlConnection m_Conn = new SqlConnection(m_ConnStr); SqlDataAdapter m_Da = new SqlDataAdapter("select title from titles",m_Conn); DataSet m_Ds = new DataSet(); m_Da.Fill(m_Ds,"Titles"); DataRow m_Dr = m_Ds.Tables["Titles"].NewRow(); m_Dr["title"] = "aaa"; m_Ds.Tables["Titles"].Rows.InsertAt(m_Dr,1); dataGrid1.DataSource = m_Ds.Tables["Titles"]; 回复人: chNET(有神论者) ( ) 信誉:100 是在绑定以前插入得一行,那么绑定以后插入你看看是不是datagrid会正常得显示出来而且 出现得问题,是把你插入得一行,给你追加到最后了。效果不是插入,变成了append DataRow dr=this.dataSet11.Tables[0].NewRow(); dr[0]="windy"; dr[1]=99; //this.dataGrid1.DataBindings .Clear (); this.dataSet11.Tables [0].Rows.InsertAt(dr,1); //this.dataGrid1 .DataSource =this.dataSet11.Tables [0] ; this.dataSet11 .AcceptChanges();这样没有问题,dataBindings 也不用clear; this.dataSet11 .AcceptChanges(); acceptchanges之后还需要绑定一次datagrid吧?楼上?datagrid1.datasource=dt一把。不过ado.net 还是很有意思研究的 string m_ConnStr = "data source=127.0.0.1;database=pubs;user id=sa;password=sa"; SqlConnection m_Conn = new SqlConnection(m_ConnStr); SqlDataAdapter m_Da = new SqlDataAdapter("select title from titles",m_Conn); DataSet m_Ds = new DataSet(); m_Da.Fill(m_Ds,"Titles"); dataGrid1.DataSource = m_Ds.Tables["Titles"]; DataRow m_Dr = m_Ds.Tables["Titles"].NewRow(); m_Dr["title"] = "aaa"; m_Ds.Tables["Titles"].Rows.InsertAt(m_Dr,1); m_Ds.AcceptChanges(); dataGrid1.DataSource = m_Ds.Tables["Titles"]; 先修改datagrid绑定表dataset[tablename],然后在把dataset[tablename].defualtview赋予datagrid.datasource; 在你的代码后面加上这句话,新行就不会添加到最后了my_Ds.AcceptChanges() DataGridView Combox类型的单元格 赋值取值问题 ActiveX插件安全性? 正则表达式:如何从一堆html代码中,获取自己想要的内容?! 有关C#邮件发送的问题 如何遍历数据库中的存储过程,并且获得存储过程的参数个数、类型? Tag问题 请教如何在listBox里面显示数据库里的某个字段(比如日期形的字段) Winform中资源释放问题 跪求[WinFrom]Listview分页显示程序的代码? 现在有没有c#算法的电子书??那里有呢? 求datagrid删除选中多行的问题 如何在AD中设置用户为“可有状态”?
这是我的代码,我成功的在第一行后插入一个新行...
string m_ConnStr = "data source=127.0.0.1;database=pubs;user id=sa;password=sa";
SqlConnection m_Conn = new SqlConnection(m_ConnStr);
SqlDataAdapter m_Da = new SqlDataAdapter("select title from titles",m_Conn);
DataSet m_Ds = new DataSet();
m_Da.Fill(m_Ds,"Titles");
DataRow m_Dr = m_Ds.Tables["Titles"].NewRow();
m_Dr["title"] = "aaa";
m_Ds.Tables["Titles"].Rows.InsertAt(m_Dr,1); dataGrid1.DataSource = m_Ds.Tables["Titles"];
是在绑定以前插入得一行,那么绑定以后插入你看看是不是datagrid会正常得显示出来
而且 出现得问题,是把你插入得一行,给你追加到最后了。效果不是插入,变成了append
dr[0]="windy";
dr[1]=99;
//this.dataGrid1.DataBindings .Clear ();
this.dataSet11.Tables [0].Rows.InsertAt(dr,1);
//this.dataGrid1 .DataSource =this.dataSet11.Tables [0] ;
this.dataSet11 .AcceptChanges();
这样没有问题,dataBindings 也不用clear;
string m_ConnStr = "data source=127.0.0.1;database=pubs;user id=sa;password=sa";
SqlConnection m_Conn = new SqlConnection(m_ConnStr);
SqlDataAdapter m_Da = new SqlDataAdapter("select title from titles",m_Conn);
DataSet m_Ds = new DataSet();
m_Da.Fill(m_Ds,"Titles"); dataGrid1.DataSource = m_Ds.Tables["Titles"]; DataRow m_Dr = m_Ds.Tables["Titles"].NewRow();
m_Dr["title"] = "aaa";
m_Ds.Tables["Titles"].Rows.InsertAt(m_Dr,1); m_Ds.AcceptChanges();
dataGrid1.DataSource = m_Ds.Tables["Titles"];