using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using System.Data.Common; namespace DataGridViewDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string conStr = "server=localhost;database=db_EMS;integrated security=true"; SqlConnection conn; SqlDataAdapter da; DataSet ds; private void Form1_Load(object sender, EventArgs e) { //禁止添加行 dataGridView1.AllowUserToAddRows = false; //禁止刪除行 dataGridView1.AllowUserToDeleteRows = false; conn = new SqlConnection(conStr); da = new SqlDataAdapter("select * from tb_pdic", conn); ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; //禁止對列進行排序(這個要在賦值datasource後) for (int i = 0; i < dataGridView1.Columns.Count; i++) dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; //選中時選中整行 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //不同的行賦值不同的顏色 foreach(DataGridViewRow dgv in dataGridView1.Rows) { if(dgv.Index%2==0) { dataGridView1.Rows[dgv.Index].DefaultCellStyle.BackColor = Color.LightSalmon; } else { dataGridView1.Rows[dgv.Index].DefaultCellStyle.BackColor = Color.LightPink; } } dataGridView1.ReadOnly = true; //設置選中行的顏色 dataGridView1.DefaultCellStyle.SelectionBackColor = Color.LightSkyBlue; } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { int id =(int) dataGridView1.Rows[e.RowIndex].Cells[0].Value; conn = new SqlConnection(conStr); da = new SqlDataAdapter("select * from tb_pdic where id=" + id, conn); ds = new DataSet(); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { textBox1.Text = ds.Tables[0].Rows[0]["name"].ToString(); textBox2.Text = ds.Tables[0].Rows[0]["money"].ToString(); } } } }