private void button1_Click(object sender, EventArgs e) //这里是不用泛型集合的情况,用的是Datatable
{
SqlConnection conn = new SqlConnection("server=.;database=Cml;user=sa;pwd=123");
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from student";
conn.Open();
SqlDataReader dr= cmd.ExecuteReader();
DataTable dt = new DataTable();
if(dr.HasRows)
{
//开始添加列
for (int i = ; i < dr.FieldCount; i++) //dr.FieldCount 表里的列数
{
dt.Columns.Add(dr.GetName(i)); //一列一列的添加,for 循环循环的是确定了某一行之后每一列
} //开始添加行
while (dr.Read()) //while循环的是每一行的数据,一行一行的循环
{
DataRow dtw = dt.NewRow(); //造一个新行
//下面开始给新行添加内容
for (int i = ; i < dr.FieldCount; i++)
{
dtw[i] = dr[i]; //开始给确定了某一行的每一列依次赋值,for循环循环一次赋一次列值
}
//将while循环完事后的每一行的内容全部增加到dt里面
dt.Rows.Add(dtw);
}
}
//现在Datatable里面已经有内容了,然后datagridview1的数据源便是dt
dataGridView1.DataSource = dt;
cmd.Dispose();
conn.Close();
}

Datagridview的某些属性again-LMLPHP

/////////

 private void button2_Click(object sender, EventArgs e) //cells 单元格
{ if(dataGridView1.SelectedCells.Count>)
{
MessageBox.Show(dataGridView1.SelectedCells[].Value.ToString());
//SelectedCells[0] 中括号里面是0的话,必须得选择至少1个单元格,显示倒数第一个选中的
//SelectedCells[1] 中括号里面是1的话,必须得选择至少2个单元格,显示倒数第二个选中的
//SelectedCells[2] 中括号里面是2的话,必须得选择至少3个单元格,显示倒数第三个选中的 }
}

Datagridview的某些属性again-LMLPHP

////

 private void button2_Click(object sender, EventArgs e) //cells 单元格
{ if(dataGridView1.SelectedCells.Count>)
{
MessageBox.Show(dataGridView1.SelectedCells[].Value.ToString());
//SelectedCells[0] 中括号里面是0的话,必须得选择至少1个单元格,显示倒数第一个选中的
//SelectedCells[1] 中括号里面是1的话,必须得选择至少2个单元格,显示倒数第二个选中的
//SelectedCells[2] 中括号里面是2的话,必须得选择至少3个单元格,显示倒数第三个选中的 }
} 这里是先选中的康议方,在选中的侯玉芳

Datagridview的某些属性again-LMLPHP

////

 private void button2_Click(object sender, EventArgs e) //cells 单元格
{ if(dataGridView1.SelectedCells.Count>)
{
MessageBox.Show(dataGridView1.SelectedCells[].Value.ToString());
//SelectedCells[0] 中括号里面是0的话,必须得选择至少1个单元格,显示倒数第一个选中的
//SelectedCells[1] 中括号里面是1的话,必须得选择至少2个单元格,显示倒数第二个选中的
//SelectedCells[2] 中括号里面是2的话,必须得选择至少3个单元格,显示倒数第三个选中的 }
}

Datagridview的某些属性again-LMLPHP

//////

 //Selectionmode 指示如何选中单元格  fullrowselect再选中其第一项时,其子项也会突出显示
private void button3_Click(object sender, EventArgs e) //row 在使用这个的时候,必须将Selectionmode改为fullrowselect
{
MessageBox.Show(dataGridView1.SelectedRows[].Cells[0].Value.ToString());
//SelectedRows[0] 必须选择最少1行 ,显示倒数第一个选中的 cells[0] 为这一行的第一列的值
//SelectedRows[1] 必须选中最少2行 ,显示倒数第二个选中的 cells[1] 为这一行的第二列的值
}

Datagridview的某些属性again-LMLPHP

////

 //Selectionmode 指示如何选中单元格  fullrowselect再选中其第一项时,其子项也会突出显示
private void button3_Click(object sender, EventArgs e) //row 在使用这个的时候,必须将Selectionmode改为fullrowselect
{
MessageBox.Show(dataGridView1.SelectedRows[].Cells[].Value.ToString());
//SelectedRows[0] 必须选择最少1行 ,显示倒数第一个选中的 cells[0] 为这一行的第一列的值
//SelectedRows[1] 必须选中最少2行 ,显示倒数第二个选中的 cells[1] 为这一行的第二列的值
}

Datagridview的某些属性again-LMLPHP

  private void button3_Click(object sender, EventArgs e) //row 在使用这个的时候,必须将Selectionmode改为fullrowselect
{
MessageBox.Show(dataGridView1.SelectedRows[].Cells[].Value.ToString());
//SelectedRows[0] 必须选择最少1行 ,显示倒数第一个选中的 cells[0] 为这一行的第一列的值
//SelectedRows[1] 必须选中最少2行 ,显示倒数第二个选中的 cells[1] 为这一行的第二列的值
}

Datagridview的某些属性again-LMLPHP

/////

 private void button4_Click(object sender, EventArgs e) //将选中的某行转换为该行所对应的对象
{
//bianliang x=(bianliang)dataGridView1.SelectedRows[0].DataBoundItem; //将选中的某一行直接转化为对象,之后可以调用对象的任意属性
}
04-16 17:05
查看更多