2011年3月31日 星期四

一些小筆記

1.關閉"系統控制功能表"(最大化最小化叉叉):屬性中的ContrlBox設為false


2.轉型
double x = 1234.7;
int a;
a = (int)x;

輸出:a=1234
Convert類別
Convert.ToInt32(value);
Convert.ToString(value);
Parse
int.Parse(tbxGuess.Text)


3.視窗放到最大
this.WindowState = FormWindowState.Maximized;

dataGridView增加一個計算年齡欄位

//先在dataGridView內加入年齡欄位(非由資料庫繫結)
DataGridViewColumn colAge = new DataGridViewTextBoxColumn();
dataGridView1.Columns.Insert(9, colAge);
colAge.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
colAge.HeaderText = "年齡";
colAge.Name = "年齡";

CellAge();  //引用下面的方法



dataGridView中根據Cell值來標顏色

 for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if (dataGridView1.Rows[i].Cells["State"].Value.ToString() == "Yes")
                {
                    dataGridView1.Rows[i].Cells["State"].Style.BackColor = Color.BlueViolet;
                }
            }






另一例:根據年齡

dataGridView 判斷 CheckBox 選取的方法

foreach (DataGridViewRow dgR in this.dataGridView1.Rows)  
{  
try  
{  
DataGridViewCheckBoxCell cbx = (DataGridViewCheckBoxCell)dgR.Cells[0]; 
if ((bool)cbx.FormattedValue)  
{ //TO DO  
}  
}  
catch (Exception ex)  
{  
MessageBox.Show(ex.Message);  
}  
}


dataGridView根據欄位排序

//根據欄位1排列(由小到大)
dataGridView1.Sort(dataGridView1.Columns[1], System.ComponentModel.ListSortDirection.Ascending);




//根據欄位1排列(由大到小)
dataGridView1.Sort(dataGridView1.Columns[1], System.ComponentModel.ListSortDirection.Descending);

dataGridView加入CheckBox

加入CheckBox

            //DataGridView加入CheckBox
            DataGridViewColumn colCheck = new DataGridViewCheckBoxColumn();
//設定寬度            
colCheck.Width = 45;
//設定該行背景顏色
            colCheck.CellTemplate.Style.BackColor = Color.Yellow;
            //this.dataGridView1.Columns.Add(col);
            dataGridView1.Columns.Insert(0, colCheck);

CheckBox全選
private void button2_Click(object sender, EventArgs e)
       {
           //全選  
           for (int i = 0; i < dataGridView1.RowCount; i++)
           {

               dataGridView1.Rows[i].Cells[0].Value = true;
           }  
       }


CheckBox全部取消
private void button3_Click(object sender, EventArgs e)
       {
           //取消  
           for (int i = 0; i < dataGridView1.RowCount; i++)
           {
               dataGridView1.Rows[i].Cells[0].Value = false;
           }       
       }

2011年3月30日 星期三

ADO.NET架構


有兩種 ADO.NET 元件可讓您用來存取及操作資料:
  • .NET Framework 資料提供者(Data Provider)
  • DataSet

ADO.NET ---應用程式與資料庫的溝通媒介

匯入System.Data命名空間來叫用ADO.NET元件
引用System.Data.OleDb/System.Data.OracleClient來存取Oracle資料庫


.NET Framework Data Provider
Connection
OleDbConnection語法範例:
string ConnString = "Provider=MSDAORA;Data Source=localhost;user id=123;password=123";
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();




Command
OleDbCommand[查詢]語法範例:
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string selectCmd = "SELECT * FROM RCNSSRMTX WHERE SRMID = '" + tbxNo.Text + "'";
OleDbCommand cmd = new OleDbCommand(selectCmd, conn);
OleDbDataReader dr = cmd.ExecuteReader();


dataGridView一些屬性

//變更奇數列背景顏色
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Gray;

//改變欄位標頭名稱(也可從SQL語法方式直接改 AS )
dataGridView1.Columns[3].HeaderText = "床號";

//防止在dataGridView中新增或刪除資料列
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;

//設定寬度
dataGridView1.Columns["State"].Width = 35;