see:SqlConnection cnn=new SqlConnection("server=BEAR;user id=sa;initial catalog=123;persist security info=True;");
cnn.Open();
SqlDataAdapter da=new SqlDataAdapter("select * from ta",cnn);
DataTable dt=new DataTable();
da.Fill(dt);
dt.DefaultView.RowFilter="id>'4'";
DataTable TempTable=dt.Clone();
for(int i=0;i<dt.DefaultView.Count;i++)
{
DataRow row=TempTable.NewRow();
for(int j=0;j<TempTable.Columns.Count;j++)
{
row[j]=dt.DefaultView[i][j];
}
TempTable.Rows.Add(row);
}
dataGrid1.DataSource=TempTable;cnn.Close();
cnn.Open();
SqlDataAdapter da=new SqlDataAdapter("select * from ta",cnn);
DataTable dt=new DataTable();
da.Fill(dt);
dt.DefaultView.RowFilter="id>'4'";
DataTable TempTable=dt.Clone();
for(int i=0;i<dt.DefaultView.Count;i++)
{
DataRow row=TempTable.NewRow();
for(int j=0;j<TempTable.Columns.Count;j++)
{
row[j]=dt.DefaultView[i][j];
}
TempTable.Rows.Add(row);
}
dataGrid1.DataSource=TempTable;cnn.Close();
解决方案 »
- C# VS2010 Windows2008 startIndex cannot be larger than length of string.
- 如何从一个网页上读取我要的数据,并把他转存到我的数据库
- 如何用.NET摸拟网页提交?
- 关于网上购物的问题
- 关于datagrid数据更新,大家帮忙来看一下吧
- 如何把一个文件分段写入数据库的Image字段? 以下是我的代码:
- 某网络上音乐文件比如mms://www.name.com/name.wma可以在mediaplayer里播放,但使用streambox之类软件无法下载,如何写程序将其下载?
- 火急求助
- 使用DotNetSetup1.1制作的安装程序不能自动安装MDAC27?
- 如何让一个C#应用程序在一台机器上只启动一次?
- c#输出到Excel的一个问题,急!
- 请教C#中的System.Drawing.Icon类对象怎么存文件名?
private DataTable dt;
....Form_Load(...)
{
...
dataGrid1.DataSource = dt;
}
... button1_click(...)
{
int a = dt.Rows.Count;
}webForm的话就很不一样,页面刷新数据源就没了,无论你 DataView a = dataGrid1.DataSource as DataView都是取不到的
举个例子,DataTable1.Rows[0].Delete();实际上这一行并没有真的删除了,而是将这一行的状态改为System.Data.DataRowState.Deleted,绑定的时候就自动跳过,不显示这一行;对你上面的例子,试一下
Console.Write(dt.Rows.Count);
dt.AcceptChanges();
Console.Write(dt.Rows.Count);
cnn.Open();
SqlDataAdapter da=new SqlDataAdapter("select * from ta",cnn);
DataTable dt=new DataTable();
da.Fill(dt);
dt.DefaultView.RowFilter="id>'4'";
DataTable TempTable=dt;
dataGrid1.DataSource=TempTable;cnn.Close();我试过的绝对没问题。
---------------------------------
你说你的代码是:
myDs.Tables[0].DefaultView.RowFilter = @"从业人口女> 200";
myDt = myDs.Tables[0];改为下面的试一下:
myDs.Tables[0].DefaultView.RowFilter = "从业人口女> '200'";
后写如下面的代码,显示全是unchange的,而且RowState并没有那个值是代表被筛选掉的
foreach(DataRow row in dt.Rows)
Console.WriteLine(row.RowState);
DataTable dt = dv.Table.Clone();
foreach(DataRowView drv in dv){
DataRow dr = dt.NewRow();
for(int x=0; x < dv.Table.Columns.Count; x++) {
dr[x] = drv[x].ToString();
}
dt.Rows.Add(dr);
}
return dt;
}
哎!可是如果我一个DataView有10万条以上的数据,如用ADD填充是不是有点慢呀????
还有没有真接转换的方法呀!