如何获取datagrid内的所有记录行数? ,问: 如何一次性的更新完在dataGrid做的所有添加行的记录,添加到数据库呢,更新到数据库,如何获取datagrid内的所有记录行数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 datagrid内的所有记录行数dataGrid.VisibleRowCount VisibleRowCount是在数据窗口中显示的可见行行数比如一共1000行 但是界面中只显示10行 有990行需要拉滚动条才能看到这时VisibleRowCoun的值是10 找datagrid绑定的dataset.dataTable.Rows.Count 如果获取刚给dataGrid中添加的行,行的总数,如何获取呢, 如果dataGrid的数据源就是dataset.dataTable,那末dataGrid新添加或修改行数据在dataTable内也会相应添加或修改,dataTable这些新的数据跟原来的数据的不同在于DataRow的状态不一样。public bool UpdateDataSet(DataSet dataSet,string tableName) { try { sqlTransaction.SetSQLBeginTrans(); base.FillSQL(" select * from "+tableName+" where 1=2 ",null); sqlCmdBuilder=new SqlCommandBuilder(Sys_Adapter); Sys_Adapter.SelectCommand.Transaction=sqlTransaction.Sys_Trans; if(dataSet.HasChanges(DataRowState.Added)) { Sys_Adapter.InsertCommand = sqlCmdBuilder.GetInsertCommand(); Sys_Adapter.InsertCommand.Transaction=sqlTransaction.Sys_Trans; } if(dataSet.HasChanges(DataRowState.Modified)) { Sys_Adapter.UpdateCommand = sqlCmdBuilder.GetUpdateCommand(); Sys_Adapter.UpdateCommand.Transaction=sqlTransaction.Sys_Trans; } if(dataSet.HasChanges(DataRowState.Deleted)) { Sys_Adapter.DeleteCommand = sqlCmdBuilder.GetDeleteCommand(); Sys_Adapter.DeleteCommand.Transaction=sqlTransaction.Sys_Trans; } if(dataSet.HasChanges(DataRowState.Deleted)) { Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.Deleted)); } if(dataSet.HasChanges(DataRowState.Modified)) { Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.ModifiedCurrent)); } if(dataSet.HasChanges(DataRowState.Added)) { Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.Added)); } sqlTransaction.SetSQLCommitTrans(); return true; } catch(Exception e) { sqlTransaction.SetSQLRollBack(); WinException.Out(e,null); return false; } } 不错,就是太多了,没有简单的啊,另、外,DataGrid内显示有(null)如何去掉呢? 哥哥,你最好有点代码,你这样一写,有点不知去向,你哥哥以上的帮助,null,你是怎么去掉呢,可否看一下代码。 (DataTable)grid1.DataSource.Rows.Count****************************int numRows = dataGridDetails.BindingContext[dataGridDetails.DataSource, dataGridDetails.DataMember].Count; 求一SQL语句 ,sql2005 gridview 页码 字体大小 在网站中调用小游戏,怎么实现 怎么数字16格式化字符串 File.Copy()与File.Replace()有什么区别呀? c# 数组怎样转换成 ref object C#版上人气真旺,俺问的问题都解决了,真高兴.再问一个Excel报表的发布问题? 生成文本有没有并行方式呢?进来看代码。谢谢啦 dropDownList问题 在线等答案,确实查不出原因 ListView选定项的索引,提问,加急! 用FileStream这样生成txt文件,会有限制吗?
dataGrid.VisibleRowCount
比如一共1000行 但是界面中只显示10行 有990行需要拉滚动条才能看到
这时VisibleRowCoun的值是10
public bool UpdateDataSet(DataSet dataSet,string tableName)
{
try
{
sqlTransaction.SetSQLBeginTrans();
base.FillSQL(" select * from "+tableName+" where 1=2 ",null);
sqlCmdBuilder=new SqlCommandBuilder(Sys_Adapter);
Sys_Adapter.SelectCommand.Transaction=sqlTransaction.Sys_Trans;
if(dataSet.HasChanges(DataRowState.Added))
{
Sys_Adapter.InsertCommand = sqlCmdBuilder.GetInsertCommand();
Sys_Adapter.InsertCommand.Transaction=sqlTransaction.Sys_Trans;
}
if(dataSet.HasChanges(DataRowState.Modified))
{
Sys_Adapter.UpdateCommand = sqlCmdBuilder.GetUpdateCommand();
Sys_Adapter.UpdateCommand.Transaction=sqlTransaction.Sys_Trans;
}
if(dataSet.HasChanges(DataRowState.Deleted))
{
Sys_Adapter.DeleteCommand = sqlCmdBuilder.GetDeleteCommand();
Sys_Adapter.DeleteCommand.Transaction=sqlTransaction.Sys_Trans;
} if(dataSet.HasChanges(DataRowState.Deleted))
{
Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.Deleted));
}
if(dataSet.HasChanges(DataRowState.Modified))
{
Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.ModifiedCurrent));
}
if(dataSet.HasChanges(DataRowState.Added))
{
Sys_Adapter.Update(dataSet.Tables[tableName].Select(null,null,DataViewRowState.Added));
}
sqlTransaction.SetSQLCommitTrans();
return true;
}
catch(Exception e)
{
sqlTransaction.SetSQLRollBack();
WinException.Out(e,null);
return false;
}
}
****************************
int numRows = dataGridDetails.BindingContext[dataGridDetails.DataSource, dataGridDetails.DataMember].Count;