隨筆-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.設置新DataTable的TableName 
          DataTable newTable2 = dv.ToTable("NewTableName"); 
          //3.設置新表是否過濾重復項,擁有的列的列名以及出現的順序 
          //即可以設置新表的字段。但是字段名肯定是老表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;            //設置一個視圖過濾
                          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企業管理器里執行是能正確篩選到記錄的,但是為什么在這里就一個都篩選不出來?是不是這里要用別的符號來代表一個字符啊。 

          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"]);

                          
          //數據填充
                          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 黃小二 閱讀(1656) 評論(0)  編輯  收藏 所屬分類: C#
          主站蜘蛛池模板: 油尖旺区| 榕江县| 龙口市| 吐鲁番市| 陈巴尔虎旗| 泰来县| 秦安县| 吉安县| 徐汇区| 武鸣县| 二手房| 沛县| 永新县| 肇庆市| 上思县| 景泰县| 内丘县| 海盐县| 泗水县| 延川县| 南澳县| 营山县| 遂川县| 开化县| 崇礼县| 湟中县| 灌阳县| 卢湾区| 突泉县| 西青区| 荔波县| 日照市| 阿城市| 乌恰县| 青神县| 新绛县| 新干县| 贵南县| 衢州市| 贺州市| 景泰县|