所有的代码都是通过 ‘有道云笔记’中的Markdown编辑器进行编辑,然后生成文件直接导入,也节省了来去复制粘贴内容造成不必要的错误。所有代码都是手敲,也是对代码量的一点点提高,虽然很多不懂,都需要过程。Thank
在datagridview中显示数据
private void Form1_Load(object sender,EventArgs e)
{
SqlConnection conn=new SqlConnection("server=.;database=db_Csharp;uid=sa;pwd=123456");
SqlDataAdapter sda=new SqlDataAdapter("select * from tb_emp",conn);
DataSet ds=new DataSe();
sda.Fill(ds,"emp");
dataGridView1.DataSource=ds.Tables[0];
}
获取dgv控件中得到当前单元格
//public DataGridViewCell CurentCell{get;set;}
SqlConnection conn
SqlDataAdapter sda;
DataSet ds=null;
private void Form_Load(object sender,EventArgs e)
{
conn=new SqlConnection("server=.;database=db_Csharp;uid=sa;pwd=123456");
sda=new SqlDataAdapter("select * from tb_teacher",conn);
ds=new DataSet();
sda.Fill(ds,"teacher")
dataGridView1.DataSource=ds.Tables[0];
}
private void button1_Click(object sender,EventArgs e)
{
string msg=String.Format("第{0}行,第{1}列",dataGridView1.CurrentCell.RowIndex,dataGridView1.CurrentCell.ColumnIndex);
//使用Current.RowIndex 和Current.ColumnIndex 获取数据的行和列
label1.Text="选择的单元格为:"+ msg;
}
dgv直接修改数据
SqlConnection conn;
SqlDataAdapter adapter;
private void button1_Click(object sender, EventArgs e)
{
conn=new SqlConnection("server=.;database=db_Csharp;uid=sa;pwd=123456");
SqlDataAdapter sda =new SqlDataAdapter("select * from tb_emp",conn);
DataSet ds =new DataSet();
sda.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
dataGridView1.RowHeadersVisible=false;
//禁止显示行标题
for(int i=0;i<dataGridView1.ColumnCount;i++)
{
dataGridView1.Columns[i].Width=84;
}
button1.Enabled=false;
dataGridView1.Columns[0].ReadOnly=true;
//将控件设置为只读
}
private DataTable dbconn(string strSql) //建立datatable类型的方法
{
conn.Open();
this adapter=new SqlDataAdapter(strSql,conn); //实例化
DataTable dtSelect=new DataTable(); //实例化DataTable
int rnt=this.adapter.Fill(dtSelect); //填充DataTable
conn.Close();
return dtSelect ; //返回DataTable
}
private void button2_Click(object sender,EventArgs e)
{
if(dbUpdate())
{
MessageBox.Show("修改成功!");
}
}
private Boolean dbUpdate()
{
string strSql="select * from tb_emp"
DataTable dtUpdate= new DataTable();
dtUpdate=this.dbconn(strSql);
dtUpdate.Rows.Clear();
DataTable dtShow=new DataTable();
dtShow=(DataTable)this.dataGridView1.DataSource;
for(int i=0;i<dtShow.Rows.Count;i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]) ;
}
try
{
this.conn.Open();
SqlCommandBuilder CommandBuilder;
CommandBuilder=new SqlCommandBuilder(this.apater);
this.adapter.Update(dtUpdate);
this.conn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
dtUpdate.AcceptChanges();
return true;
}
dataGridView1.AllowUserToAddRows=false; //禁止添加行
dataGridView1.AllowUserToDeleteRows=false;//禁止删除行
dataGridView1.ReadOnly=true;//控件中的数据为只读
private void Form_Load(object sender,EventArgs e)
{
dataGridView1.ColumnCount=4;//指定dgv控件显示的行数
dataGridView1.ColumnHeadersVisable=true;//显示列标题
DataGridViewCellStyle columnHeaderStyle=new DataGridViewCellStyle();//设置标题列的样式
columnHeaderStyle.BackColor=Color.Beige; //设置颜色
columnHeaderStyle.Font=new Font("Verdana",10,FontStyle.Bold);//设置字体颜色
dataGridView1.ColumnHeadersDefultCellStyle=columnheaderStyle;//样式
//设置dataGirdView控件的标题列名
dataGridView1.Columns[0].Name="编号";
dataGridView1.Columns[1].Name="姓名";
dataGridView1.Columns[2].Name="年龄";
dataGridView1.Columns[3].Name="性别";
//建立6行数据
string[] row1=new string[]{"0001","小李","28","男"};//字符串数组
string[] row2=new string[]{"0002","小王","27","男"};
string[] row3=new string[]{"0003","小倩","25","女"};
string[] row4=new string[]{"0004","小张","27","男"};
object[] rows=new object[]{row1,row2,row3,row4,row5,row6};
foreach(string[] rowArray in rows) //使用foreach语句循环添加
{
dataGridView1.Rows.Add(rowArray); //
}
}
Headers | 编号 | 姓名 | 年龄 | 性别 |
---|---|---|---|---|
row | 0001 | 小李 | 28 | 男 |
row | 0002 | 小王 | 27 | 男 |
row | 0003 | 小倩 | 25 | 女 |
row | 0004 | 小张 | 27 | 男 |