在C#的winform中怎么直接在DataGridView里面修改,添加数据.(添加,修改到数据库里)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#的winform中怎么直接在DataGridView里面修改,添加数据.(添加,修改到数据库里)相关的知识,希望对你有一定的参考价值。
想找个师傅 哎
这个好办啊!你只需要在GataGridView的CellClick事件里写上相应的代码即可!CellClick是当GataGridView里的单元格被点击时被调用的事件
加入你的数据表里有“姓名”和“工资”两列数据。
int rowindex = GataGridView.CurrentCell.RowIndex; //得到行号
txtName.Text = GataGridView.Rows[rowindex].Cells[0].Value.ToString();
txtMoney.Text =GataGridView.Rows[rowindex].Cells[1].Value.ToString();
把你所要现实的数据与数据库相应的数据绑定!
然后只需在修改,删除事件里创建一个SqlCommandBuilder对象(它能自动生成insert update delete语句)有了这个对象,就不用手写insert update delete语句,由该对象,根据数据库中数据表的结构,自动生成
SqlCommandBuilder scb = new SqlCommandBuilder(adp);
这里的adp是SqlDataAdapter的对象名,你在生成SqlCommandBuilder 之前必须创建一个数据适配器(SqlDataAdapter)即SqlDataAdapter adp = new SqlDataAdapter();
这样,adp就具备了添加,修改,删除的功能,再让adp影响数据库,当它具备了以上的这些功能,就可以让数据集所做的修改影响数据库的改变
adp.Update(DataSet对象名, "数据集里的表名"); 参考技术A 举例子
//给dataGridVies赋值
SqlDataAdapter da = new SqlDataAdapter("select * from RoomInfo", conn);
DataSet ds = new DataSet();
da.Fill(ds, "RoomInfo");
this.dataGridView1.DataSource = ds.Tables["RoomInfo"];
//保存(包括增删改。这是批处理。)
SqlCommandBuilder sb = new SqlCommandBuilder(da);
da.Update(ds.Tables["RoomInfo"]);本回答被提问者采纳
c#(winform)combobox手动添加的选项怎么获取value?
有一个combobox,怎么添加display的text和value的值?
比如:
先add一个“请选择”,他的值为0
又有一个数据库:
ID,名称
1,张三
2,李四
然后通过数据库循环add,显示对应数据库中的“名称”,值对应数据库中的ID
最后我选择“请选择”时,传值为0,选择其他的时,对应他们的值。怎么做呢?高手赐教!
是winform程序,不是web
以下方法实现获取ComboBox中被选中项的值:
(1)在Visual Studio中新建一个“Windows 窗体应用程序”项目
(2)在项目中添加一个类MyItem。这个类有两个用途:
在ComboBox中显示
用于检索被选中项的值
MyItem.cs代码
class MyItem
public MyItem(string name, int value)
Name = name;
Value = value;
public string Name get; private set;
public int Value get; private set;
(3)在Form1上布置一个ComboBox、一个Label
(4)窗体代码 Form1.cs
using System;using System.Collections.Generic;
using System.Windows.Forms;
namespace WindowsFormsApplication1
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
// 清空lable1
label1.Text = string.Empty;
// 列表集合将作为comboBox1的数据源
List<MyItem> list = new List<MyItem>();
list.Add(new MyItem("张三", 10));
list.Add(new MyItem("李四", 20));
list.Add(new MyItem("王五", 30));
// 绑定
comboBox1.DataSource = list;
// 在comboBox1中显示MyItem的Name属性
comboBox1.DisplayMember = "Name";
// 获取被选中项的Value值
private void comboBox1_SelectedIndexChanged(
object sender,
EventArgs e)
// 将被选中的项目强制转换为MyItem
MyItem item = comboBox1.SelectedItem as MyItem;
// 显示被选中项的值
label1.Text = string.Format("Value = 0", item.Value);
(5)运行
程序启动后
改变comboBox1选择
参考技术A 先在外部定义一个类,比如MyItem,有两个属性TEXT,VALUE,重写ToString方法,返回Text的值。在添加时,这样
MyItem item = new MyItem()
item.Text = "请选择";
item.Value = 0;
combobox.Items.Add(item);
item = new MyItem();
item.Text = "张三";
item.Value = 1;
combobox.Items.Add(item);
取值时,这样
MyItem item = combobox.SelectedItem as MyItem;
这样就可以通过item.Value得到你想要的值。 参考技术B combobox.datasource=dt;
combobox.displaymenber="名称";
combobox.valuemenber="ID";
dt是datatable,有ID和“名称”两个列
记忆中好像是这样滴。试试看本回答被提问者采纳
以上是关于在C#的winform中怎么直接在DataGridView里面修改,添加数据.(添加,修改到数据库里)的主要内容,如果未能解决你的问题,请参考以下文章
C# Winform程序中使用DataGridView时单元格无法显示全部内容时,如何右对齐,省略号在左边。
C# winform程序中如何向datagridview中添加一行
关于c# winform datagrid的列宽如何设置为自动适应内容宽度? 在网上找到的这段代码
在C#的winform中怎么直接在DataGridView里面修改,添加数据.(添加,修改到数据库里)