<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