隨筆-7  評論-24  文章-102  trackbacks-0

          DataTable的一些特殊用法:Select
          /* 
          * 補充一下,還可以利用DataView來達到檢索的目的。 
          */
           
          DataTable dataSource 
          = new DataTable(); 
          DataView dv 
          = dataSource.DefaultView; 
          dv.RowFilter 
          = "columnA = 'abc'"
          //1.過濾后直接獲取DataTable 
          DataTable newTable1 = dv.ToTable(); 
          //2.設(shè)置新DataTable的TableName 
          DataTable newTable2 = dv.ToTable("NewTableName"); 
          //3.設(shè)置新表是否過濾重復(fù)項,擁有的列的列名以及出現(xiàn)的順序 
          //即可以設(shè)置新表的字段。但是字段名肯定是老表dataSource中擁有的。 
          DataTable newTable3 = 
          dv.ToTable(
          truenew string[] "columnA,columnF,columnC" }); 
          //4.綜合了2.3兩點。 
          DataTable newTable4 = 
          dv.ToTable(
          "NewTableName"truenew string[] "columnA,columnF,columnC" });
          簡化,利用 DataView過濾
                          DataView dv = this.dtPerson.DefaultView;            //設(shè)置一個視圖過濾
                          dv.RowFilter = "employee_dept_id = " + departId;
                          
          this.lstSource.DataSource = dv;
                          
          this.lstSource.DisplayMember = "employee_name";
                          
          this.lstSource.ValueMember = "id";

                              this.dvPendingNode.RowFilter = "(node_end_time is null or node_end_time > '2009-6-10 17:55:13')";
                              this.dvPendingNode.RowFilter += "and  degree_name in ('', '進行', '暫停', '擱置') ";




          1. 我在一個winform程序里用DataView的RowFilter篩選時用兩個下劃線代表兩個字符,但是怎么篩選不出來的?
          http://topic.csdn.net/t/20040814/04/3273316.html

          Q:
          我在一個winform程序里用DataView的RowFilter篩選時用兩個下劃線代表兩個個字符,如:   
            dv.RowFilter="PID   LIKE   '"+str+"-__",這樣的篩選語句在SQL企業(yè)管理器里執(zhí)行是能正確篩選到記錄的,但是為什么在這里就一個都篩選不出來?是不是這里要用別的符號來代表一個字符啊。 

          A:
          "_"   is   probably   very   sql   server   specific,   classes   in   System.Data   is   supposed   to   be   DBMS   independent,   you   can   try   to   use   
              
            ABC   LIKE   'abc*'   AND   LEN(ABC)=5







          2. ListBox 多項選擇(DataRowView)

          for (int i = 0; i < this.lstSource.SelectedItems.Count; i++)
                      
          {
                          DataRowView row 
          = this.lstSource.SelectedItems[i] as DataRowView;
                          
          int id = Int32.Parse(row["id"].ToString());
                          
          string employee = String.Format("{0}<{1}>", row["employee_name"], row["dept_name"]);

                          
          //數(shù)據(jù)填充
                          if (!this.idList.Contains(id))
                          
          {
                              
          this.idList.Add(id);
                              
          this.valueList.Add(employee);
                          }
                       System.Windows.Forms.ListBox.SelectedIndexCollection indexes = this.lstTarget.SelectedIndices;
                      
          for (int i = indexes.Count - 1; i >= 0; i--)
                      
          {
                          
          this.idList.RemoveAt(indexes[i]);
                          
          this.valueList.RemoveAt(indexes[i]);
                      }
          posted on 2010-04-22 12:35 黃小二 閱讀(1657) 評論(0)  編輯  收藏 所屬分類: C#
          主站蜘蛛池模板: 玉林市| 金川县| 精河县| 曲靖市| 潮州市| 吴川市| 望江县| 宁陕县| 蕲春县| 思茅市| 东山县| 翁源县| 汽车| 廊坊市| 游戏| 客服| 耿马| 阳谷县| 西华县| 潜江市| 千阳县| 镇雄县| 麻阳| 若羌县| 任丘市| 贵德县| 梓潼县| 辰溪县| 平陆县| 泾川县| 利川市| 福建省| 报价| 平乐县| 平山县| 商河县| 罗江县| 舟曲县| 扎兰屯市| 兴业县| 广河县|