关于DataTable的筛选

 DataSet ds = AmexCreateSheetManager.GetInstance().ExcelToSqlServer2(strAbsolutePathFileName, strName, "A", this.gvFlights, this.lblSheetID_zym.Text.Trim());//获得ds

                if (ViewState["table"] == null)
                {
                    ViewState["table"] = ds.Tables[0];
                }
                else
                {
                    string AmexNumber = ds.Tables[0].Rows[0]["AmexNumber"].ToString();

                    DataTable temp = (DataTable)ViewState["table"];
                    DataTable dtt = new DataTable();
                    dtt=temp.Clone();
                    DataRow[] dr = temp.Select("AmexNumber <>'" + AmexNumber + "'");

                    for (int i = 0; i < dr.Length; i++)
                    {
                        dtt.ImportRow((DataRow)dr[i]);
                    }

                    //添加新数据
                    foreach (DataRow newdr in ds.Tables[0].Rows)
                    {
                         dtt.ImportRow(newdr);
                    }

                    ViewState["table"] = dtt;

                }

dtt.ImportRow(newdr)是复制行的内容
dtt.Rows.Add(newdr)必须先newRow(),然后复制,效率较低。

posted on 2008-07-16 17:13  小白鸭  阅读(678)  评论(0)    收藏  举报

导航