C# 如何通过textbox修改dataGridView中的值单击button并保存到数据库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 如何通过textbox修改dataGridView中的值单击button并保存到数据库中相关的知识,希望对你有一定的参考价值。

//窗体加载
private void Form1_Load(object sender, EventArgs e)

//绑定表
GetDataGridView();

//绑定方法
private void GetDataGridView()

string sql = "select barcode,operator,time from Center_ClothesLog";
dataGridView1.Columns.Clear();

SqlDataAdapter adapter = new SqlDataAdapter(sql, DBhelper.conn);
DataTable table = new DataTable();
adapter.Fill(table);
dataGridView1.DataSource = table;

//点击DataGridView事件
string barcode; //条码号唯一标识
private void dataGridView1_CellContentClick(objec sender,DataGridViewCellEventArgs e)

btnCancel_Click(sender,e);
barcode = dataGridView1.CurrentRow.Cells[0].Value.ToString();
string oper = dataGridView1.CurrentRow.Cells[1].Value.ToString();
string time = dataGridView1.CurrentRow.Cells[2].Value.ToString();

txtbarcode.Text = barcode;
txtoperator.Text = oper;
txttime.Text = time;


//取消
private void btnCancel_Click(object sender, EventArgs e)

txtbarcode.Clear();
txtoperator.Clear();
txtoperator.Clear();


//更新
private void btnUpdate_Click(object sender, EventArgs e)

string sql = string.Format("update Center_ClothesLog set barcode= '0',operator = '1',time = '2' where barcode = '3'",txtbarcode.Text,txtoperator.Text,txttime.Text,barcode);

SqlCommand command = new SqlCommand(sql, DBhelper.conn);

DBhelper.conn.Open();

int num = command.ExecuteNonQuery();

//如果更新数据成功 重新绑定datagridview
if (num > 0)

GetDataGridView();


DBhelper.conn.Close();


我自己测过了 希望对你有帮助
参考技术A 没看明白什么意思,如果你是想通过textbox的输入改变dataGridView的显示,那么你可以双击textbox,在出现的textBox1_TextChanged里加个根据textbox的值查询数据库再重新绑定dataGridView即可,如果是Web记得textbox 加个autopostback
如果是单纯修改数据库值button就可以完成了,你先根据姓名查出他的学号,再按这个学号更新一下数据库就OK了
参考技术B 其实有两种方法:一种是使用"先修改再查询"就是先用update语句在数据库中进行修改,再通过select语句查询出来:第二种就是:用同步更新的方法,用SqlCommandBuilder,使数据集和数据源的信息保持一致 参考技术C 通过textbox修改的是数据库的值,而不是dataGridView。在button_click事件中,写数据库添加语句就行。追问

dataGridView怎么重新绑定啊

追答

只要重新设置datasourse就可以了。

C# TextBox调整行间距

最近在用C#做开发,用到了TextBox,其中有些文本框里面需要输入很多信息,默认的TextBox的行间距比较小,文字输入多了看起来就很不舒服。请教各位大神有没有调整行间距的方法?RichTextBox貌似可以通过代码来调整间距,但是网上的代码有好多错误,不太会修改。而且又不能复制粘贴,也不是特别好用。或者各位大神知道有什么可以在C# winform里面调整行距,又可以复制粘贴的控件,小弟不胜感激!

可以用RichTextBox(富文本编辑框),可以调整段落格式(包括你说的行距),或者重写TextBox控件咯,我比较喜欢WPF用各种控件和容器的组合去实现这样的自定义控件的功能,而行距Margin就可以实现追问

有RichTextBox调整行间距的代码吗?网上的都有错误,不能直接在C#里面使用,我不太了解怎么修改。而且RichTextBox不支持能复制粘贴,而我现在做的软件必须可以复制的,要在RichTextBox里面复制还要做很多工作。你有没有其他的一些比较好的控件?谢谢!

参考技术A

你可以直接在TextBox的size中直接修改它的Height嘛。

追问

额,你说的这个是调整TextBox大小啊,我的意思是在输入多行文字之后能不能调整行间距呢?或者有没有比较好的控件,要不然文字太密集看起来太难受了。谢谢你的热情回答!

追答

额,这下明白了,不过貌似这样就比较麻烦了,抱歉,没帮到忙。

参考技术B <TextBox TextBlock.LineHeight="40" TextWrapping="Wrap" ></TextBox>
TextBlock.LineHeight设置行高
参考技术C

可以采用空格的形式实现。。。比较的简单。。

以上是关于C# 如何通过textbox修改dataGridView中的值单击button并保存到数据库中的主要内容,如果未能解决你的问题,请参考以下文章

C#如何在另一个类的线程中对Textbox内容进行修改?

visual C#中如何设置textbox只显示一条下划线,并且背景透明?

在C#里如何让控件textbox中的内容居中显示呢?

C# TextBox调整行间距

C# TextBox调整行间距

C#如何将console的输出转为winForm textBox输出啊??