DataGridView初始化——添加列、添加行號、連接數據庫、單擊單元格在文本框中顯示

<pre name="code" class="csharp"> /// <summary>
        /// 單擊DataGridView中的單元格,在文本框中顯示單擊的信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if(e.RowIndex>0)
            {
                txtName.Text = dgvManager.CurrentRow.Cells[2].Value.ToString();
                txtDirector.Text = dgvManager.Rows[e.RowIndex].Cells["Movie_Director"].Value.ToString();
                DateTime datetoDay = new DateTime().Date;                                               //new一個時間對象 目的是將電影發行時間的小時,分和秒給去掉 保留到最小單位爲日
                datetoDay = Convert.ToDateTime(dgvManager.Rows[e.RowIndex].Cells["Data_Released"].FormattedValue);//將當前行的日期單元格的值 賦給 時間對象datetoDay           
                txtRelease.Text = datetoDay.ToShortDateString();                                         //通過ToShortDateString()方法 將日期後的00:00:00 給剔除掉 並賦給 txtDate文本框
                label5.Text = "ID:" + dgvManager.Rows[e.RowIndex].Cells["ID"].Value.ToString();

            }
        }
<pre name="code" class="csharp">/// <summary> 
/// 爲DataGridView添加列 
/// </summary> 
/// <param name="dgv">形參,傳入創建的dgv對象</param> 
/// <param name="column">列對象</param> /// <param name="dgvReadonly">dgv只讀屬性</param> 
/// <param name="dgvName">dgv列名稱,最好與數據庫相應的名稱相同</param> 
/// <param name="dgvDatapropertyname">dgv對應數據庫名稱</param>
 /// <param name="dgvHeadertext">顯示的列名</param> 
public void AddDgvColumns(DataGridView dgv, DataGridViewColumn column, bool dgvReadonly, string dgvName, string dgvDatapropertyname, string dgvHeadertext, int dgvWidth, bool dgvVisible) 
{ 
column.ReadOnly = dgvReadonly; 
column.DataPropertyName = dgvDatapropertyname; 
column.Name = dgvName; 
column.HeaderText = dgvHeadertext; 
column.Width = dgvWidth; 
column.Visible = dgvVisible; 
dgv.Columns.Add(column); 
}




  /// <summary>
        /// 初始化DataGridView
        /// </summary>
        /// <param name="dgv"></param>
        public void DgvInitial(DataGridView dgv)
        {
            if (dgv != null && dgv.ColumnCount > 0)
            {
                dgv.Columns.Clear();
            }
            dgv.AllowUserToAddRows = true;
            dgv.AllowUserToDeleteRows = true;
            dgv.AllowUserToResizeColumns = true;
            dgv.AllowUserToOrderColumns = true;

            DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
            checkBoxColumn.Width = 30;//DataGridViewCheckBoxColumn 承載 DataGridViewCheckBoxCell 對象的集合
            dgv.Columns.Add(checkBoxColumn);

            this.AddDgvColumns(dgv, new DataGridViewTextBoxColumn(), true, "ID", "ID", "編號", 60, true);
            this.AddDgvColumns(dgv, new DataGridViewTextBoxColumn(), true, "Movie_Name", "Movie_Name", "電影", 80, true);
            this.AddDgvColumns(dgv, new DataGridViewTextBoxColumn(), true, "Movie_Director", "Movie_Director", "導演", 80, true);
            this.AddDgvColumns(dgv, new DataGridViewTextBoxColumn(), true, "Data_Released", "Data_Released", "發行日期", 80, true);
            this.AddDgvColumns(dgv, new DataGridViewTextBoxColumn(), true, "UserType", "UserType", "用戶類型", 80, true);


        /// <summary>
        /// 爲表格添加行號
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="GVmain"></param>
        public void AddGridView_HangHao(object sender, DataGridViewRowPostPaintEventArgs e, DataGridView GVmain)
        {
            try
            {                //添加行號                
                SolidBrush v_SolidBrush = new SolidBrush(GVmain.RowHeadersDefaultCellStyle.ForeColor);//設置行標題默認樣式的前景色
                int v_LineNo = 0;
                v_LineNo = e.RowIndex + 1;
                string v_Line = v_LineNo.ToString();
                e.Graphics.DrawString(
                    v_Line,
                    e.InheritedRowStyle.Font,
                    v_SolidBrush,
                    e.RowBounds.Location.X + 15,
                    e.RowBounds.Location.Y + 5);
            }
            catch (Exception ex)
            {
                MessageBox.Show("添加行號時發生錯誤,錯誤信息:" + ex.Message, "操作失敗");
            }
        }
        /// 連接數據庫
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public DataTable dgvDataSource(string sql)
        {
            try
            {
                
                string connstr = "server=.;database=movie;Integrated Security=true;";
                SqlConnection conn = new SqlConnection(connstr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                int n = cmd.ExecuteNonQuery();
                conn.Close();
                return dt;
            }
            catch (Exception e)
            {
                Console.WriteLine("{0} has errow!", e);
                return null;
            }
        }


http://www.cnblogs.com/peterzb/archive/2009/05/29/1491891.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章