DataGridView 複製與貼上

參考 取之於網路用之於網路 http://rely1020.blog.ithome.com.tw/post/1606/107293

  • DataGridView預設己有Ctrl-C 複製入剪貼簿之功能
  • 相關之events
    • KeyUp
      • 接受Ctrl-V
    • ClipboardCopyMode
      • DataGridViewClipboardCopyMode.EnableWithAutoHeaderText  or  .EnableWithoutHeaderText
      • 設定好後就能接收Ctrl-C
    • SelectedCells
      • 被選取之Cells
    • OwningColumn
      • 某Cell所屬之 Column
    • DataError
      • 有人建議就bypass, 有人建議先檢查data type
  • 剪貼簿文字模式(text)
    • 每Row為新行
    • 每Row之Columns以Tab分隔
    • 貼入前檢查row/column之數量
  • 參考範例
   1:  private void dgvData_KeyUp(object sender, KeyEventArgs e)
   2:  {
   3:      //##  + V
   4:      if (e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
   5:      {
   6:          try
   7:          {
   8:              // UI控制-mouse
   9:              this.Cursor = Cursors.WaitCursor;
  10:   
  11:              //# 自 Clipboard 取值
  12:              string copyText = Clipboard.GetText(TextDataFormat.Text);
  13:   
  14:              //# by each selected cells to proceed...
  15:              foreach (DataGridViewCell c in dgvData.SelectedCells)
  16:              {
  17:                  switch (c.OwningColumn.Name)
  18:                  {
  19:                      case "bdg_tpe": // 預算別
  20:                          string bdg_tpe;
  21:                          // 若不是合法的資料,離開。
  22:                          if (!this.DoParse_BdgTpe(copyText, out bdg_tpe)) return;
  23:                          // 貼上合法的資料
  24:                          c.Value = bdg_tpe;
  25:                          break;
  26:                      case "tckt_num": // 傳票號碼
  27:                          //......
  28:                          break;
  29:                  }
  30:              }
  31:          }
  32:          finally
  33:          {
  34:              // UI控制-mouse
  35:              this.Cursor = Cursors.Default;
  36:          }
  37:   
  38:      }
  39:      else if (e.KeyCode == Keys.Delete) // 
  40:      {
  41:          try
  42:          {
  43:              // UI控制-mouse
  44:              this.Cursor = Cursors.WaitCursor;
  45:   
  46:              //# by each selected cells to proceed...
  47:              foreach (DataGridViewCell c in dgvData.SelectedCells)
  48:              {
  49:                  switch (c.OwningColumn.Name)
  50:                  {
  51:                      case "bdg_tpe": // 預算別
  52:                      //......                    
  53:                          break;
  54:                  }
  55:              }
  56:          }
  57:          finally
  58:          {
  59:              // UI控制-mouse
  60:              this.Cursor = Cursors.Default;
  61:          }
  62:      }
  63:  }

變數

變數定義
int a=3, b=a; //連續定義
char c='H'; //字元
String s="string"; //字串
bool x=true, y=false; //布林
string str="a="+a+",b="+b; //字串串接用+

除錯與狀態傾印

    • console印出文字
//使用system lib
using System;

//印出文字
Consol.WriteLine("Hello Word!");

在Visual studio裡使用Subversion

參考 Visual Studio 使用 SVN 進行版本控管 – AnkhSVN by kelp code

在netbeans裡用 javaml loadARFF

在project下的Libraries裡 在Compile裡加入下列javaml帶的package

  • javaml.0.1.5.jar
  • ajt-1.20.jar (不加這個在載入arff檔時會出錯)

(在project browser下在用右鍵點project name 選 properties)

Codeigniter usage tips

Class

  • 在library 中的class 使用codeigniter資料 (library, helper, db…)

$this->api=& $this->&  get_instance();

之後就可以用  $this->api->load->library()  ,  $this->api->db->query()   等方式 來使用了

Helpler

  • captcha

    修改字體大小 : 要直接去改captcha_helper  line #193(default font), #199(user own font)

Config

Config class

  • 自動載入: 寫在 application/config/autoload.php
  • 手動載入:$this->config->load(‘file’)

myconfig : 自己的設定檔

  • load : application/libraries/Myconfig.php
  • 設定檔: application/config/misys.php  寫在 $config[“myconfig”][“section_name”][“item_name”]下
  • 使用$this->myconfig->itme(“section_name”,”item_name”)來讀取