2014年11月24日 星期一

DataGridView增加欄位

DataGridViewTextBoxColumn col5 = new DataGridViewTextBoxColumn();
dataGridView1.Columns.Add(col5);
dataGridView1.Columns[5].Name = "Column5";
DataGridViewTextBoxColumn col6 = new DataGridViewTextBoxColumn();
dataGridView1.Columns.Add(col6);
dataGridView1.Columns[6].Name = "Column6";

2014年11月17日 星期一

計算目錄大小及檔案數量

1.使用.Net Framework 4.5
2.using System.IO
3.計算目錄大小:
static long CalculateDirectorySize(DirectoryInfo directory, bool includeSubdirectories)
{
    long totalSize = directory.EnumerateFiles().Sum(file => file.Length);
    if (includeSubdirectories)
    {
         totalSize += directory.EnumerateDirectories().Sum(dir => CalculateDirectorySize(dir, true));
     }
     return totalSize
}
4.計算被指定目錄的檔案數量(含子目錄)
static string CalculateDirectoryFiles(string directory)
{
    string fileCount = null;

    DirectoryInfo dir = new DirectoryInfo(directory);
    int files = dir.EnumerateFiles("*.*", SearchOption.AllDirectories).Count();
    fileCount = files.ToString("#,0");
     return fileCount;
    }

2014年11月5日 星期三

用foreach逐行讀取DataGridView資料


foreach (DataGridViewRow row in dataGridView1.Rows)
{
     string Column1 = row.Cells[0].Value.ToString();
     string Column2 = row.Cells[1].Value.ToString();
}

2014年9月16日 星期二

SQL 的Convert的日期輸出格式

select getdate()
結果:2014-09-16 16:31:38.950

select convert(varchar(10),getdate(), 100)
結果:09 16 2014

select convert(varchar(10),getdate(), 101)
結果:09/16/2014

select convert(varchar(10),getdate(), 102)
結果:2014.09.16

select convert(varchar(10),getdate(), 103)
結果:16/09/2014

select convert(varchar(10),getdate(), 104)
結果:16.09.2014

select convert(varchar(10),getdate(), 105)
結果:16-09-2014

select convert(varchar(10),getdate(), 106)
結果:16 09 2014

select convert(varchar(10),getdate(), 107)
結果:09 16, 201

select convert(varchar(10),getdate(), 108)
結果:16:38:03

select convert(varchar(10),getdate(), 109)
結果:09 16 2014

select convert(varchar(10),getdate(), 110)
結果:09-16-2014

select convert(varchar(10),getdate(), 111)
結果:2014/09/16

select convert(varchar(10),getdate(), 112)
結果:20140916

2014年7月28日 星期一

調整2維陣列的長度

private static T[,] ResizeArray<T>(T[,] original, int rows, int cols)
        {
            var newArray = new T[rows, cols];
            int minRows = Math.Min(rows, original.GetLength(0));
            int minCols = Math.Min(cols, original.GetLength(1));
            for (int i = 0; i < minRows; i++)
                for (int j = 0; j < minCols; j++)
                    newArray[i, j] = original[i, j];
            return newArray;
        }

2014年7月23日 星期三

ReportViewer使用範例

1.在Form1上面放入ReportViewer物件
2.加入資料集:
專案目錄右鍵 -> 加入 -> 新增項目 -> 資料 -> 資料集 -> 預設名稱 DataSet1.xsd
-> 開啟伺服器總管,點選SQL DB -> 將欲使用的Table拖拉到 DataSet視覺化設計工具
3.點ReportViewer右上角的智慧標籤 -> 設計新報表 -> 資料來源 -> DataSet1 -> 可用資料集
F5執行 -> 確認已可看到資料
4.加入查詢功能:
  4.1  DataSet1.xsd 畫面 -> Fill.GetData() -> 右鍵 -> 設定 -> TableAdapter組態精靈
         -> 加入where條件:where Color=@x -> 下一步 -> 完成
  4.2 Form1,ReportViewer上方放入TextBox1、Button
  4.3 Button 事件,將FormLoad事件內容,載入資料區段放進來,將TableAdapter.Fill
        加入參數 TextBox.Text,ex:this.ProductTableAdapter.Fill(this.DataSet1.Product,textBox1.Text);
        -> F5執行

2014年4月11日 星期五

JQuery Mobile-MVC 動態套用佈景主題

參考P.453~460

1.建立Controller,裡面放2個View:Index、Setting
2.建立Index首頁
3.建立Setting畫面

2014年3月25日 星期二

讀取TXT,內容寫到DataGridView



1.文字檔內容(以逗號將每欄位隔開):
SRV1,192.168.100.1,C:\,100,200
SRV2,192.168.100.2,C:\,100,200
SRV3,192.168.100.3,C:\,100,200

2.程式碼
private void Form1_Load(object sender, EventArgs e)
{
    TextReader txtReader = new StreamReader(@".\DiskInfo.txt");
    while (txtReader.Peek() != -1)
    {
        string[] parts = txtReader.ReadLine().Split(',');
        dataGridView1.Rows.Add(parts);
     }
 txtReader.Close();
}




2014年2月24日 星期一

將檔案或目錄壓縮成ZIP檔;ZIP File or Directory


1.下載 IONIC.ZIP.DLL 後加入到參考
2.using Ionic.Zip;
3.用法:
 private void button1_Click(object sender, EventArgs e)
{
    using (ZipFile zip = new ZipFile(Encoding.Default)) //Encoding.Default 處理中文問題
    {
        string FileName = "file.txt";
       
        //直接加縮
        zip.AddFile(FileName);
     
        //加密碼
        zip.Password = "password";
       
        //存檔
        zip.Save@("C:\")

        //整個目錄壓縮
        string sPathTo = @"C:\Temop";
        zip.AddDirectory(sPathTo);
        zip.Save@("C:\zipfile.zip")
    }
}


2014年1月22日 星期三

在Exchange上,新增、刪除傳輸規則

一、新增規則,若收件人為user1,自動產生副本給user2:
$Condition = Get-TransportRulePredicate SentTo
$Condition.Addresses = (Get-Mailbox "user1")
$Action = Get-TransportRuleAction CopyTo
$Action.Addresses = (Get-Mailbox "user2")
New-TransportRule -Name 'Rule1' -Comments '' -Condition @($Condition) -Actions @($Action) -Enable $true

二、刪除 "Rule1" 的規則
Remove-TransportRule "Rule1" -Confirm:$false

三、自動執行
1.將PowerShell指令以記事本編輯,副檔名ps1存檔
2.(以Windows2008為例)開啟工作排程器 -> 建立工作 -> 將右下角「以最高權限執行」
  ->程式或指令碼欄位輸入「%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe行」
  ->新增引數欄位輸入ps1路徑及檔名「-NoExit -ImportSystemModules c:\newrule.ps1」