datagridview 数据处理方法 修改 删除 添加 下拉类表
datagridview 数据处理方法 修改 删除 添加 下拉类表 弹出窗口
Datagridview的三种处理数据方法
一、第一种方法
常规方法,在窗口界面上放入一个datagridview,在放各个textbox,然后通过选取对应的记录,修改textbox的值,所有的操作都在一个界面上进行,没什么多说的,大部分方法都这么做
二、弹出窗口方式
此方式,通过双击记录,或者是利用按钮操作,倾向于用按钮方式,一次修改或添加、删除一条记录。利用窗口传值方式,实现数据输入、输出,datagridview的显示跟新。 特点:
1。父子窗口之间的双向传值,很有参考意义
2.父子窗体监combox绑定数据表条件下,双向传值,很多资料接收的都不是很清晰, 主要是利用了combox.findstring()这个方法,传递回index,利用index得到value,好绕啊,废了很大劲。
3.datagridview修改、添加 数据下,不用重新访问数据库,而是直接显示修改的结果,这样感觉反应速度快,很有意义。
具体如下
修改界面
datagridview 数据处理方法 修改 删除 添加 下拉类表 弹出窗口
添加界面
主窗口代码 using System;
using System.Collections.Generic;
using http://doc.guandang.netponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using http://doc.guandang.netmonClass;
namespace WDZ
{
public partial class frmMain2 : Form
{ public frmMain2()
{
InitializeComponent();
}
private void frmMain2_Load(object sender, EventArgs e)
{
this
.dataGridView1.AutoSizeColumnsMode =
System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; //表格自适应宽度
//DataCon datacon = new DataCon();
//加载数据
DataOperate dataoperate = new DataOperate();
datagridview 数据处理方法 修改 删除 添加 下拉类表 弹出窗口
string strSql = "select * from sql3 ";
DataSet ds = dataoperate.getDs(strSql, "sql3");
dataGridView1.DataSource = ds.Tables[0];
//设置datagridview属性
dataGridView1.Columns[0].ReadOnly = true; //列不可编写
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选择全行
//dataGridView1.ReadOnly = true; //只读
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.YellowGreen; 选择的行为颜色
//最后一行的星号行不显示,不允许用户添加数据
dataGridView1.AllowUserToAddRows = false;
//*************************
//加载下拉列表框
BindSex(); // 绑定性别下拉列表框
cmb_Temp.Visible = false; // 设置下拉列表框不可见
// 添加下拉列表框事件
cmb_Temp.SelectedIndexChanged += new
EventHandler(cmb_Temp_SelectedIndexChanged);
// 将下拉列表框加入到DataGridView控件中
this.dataGridView1.Controls.Add(cmb_Temp);
}
///
//**************************************************
//datagridview中下拉类表框的绑定
private ComboBox cmb_Temp = new ComboBox();
///绑定性别下拉列表框
///
private void BindSex()
{
DataTable dtSex = new DataTable();
DataOperate dataoperate = new DataOperate();
string strSql = "select * from user_class ";
DataSet ds = dataoperate.getDs(strSql, "user_class");
dtSex = ds.Tables[0]; //
datagridview 数据处理方法 修改 删除 添加 下拉类表 弹出窗口
cmb_Temp.ValueMember ="user_class_id"; //设置隐含的形式显示数值,起对应一定的名称
//cmb_Temp.ValueMember = "user_class";
cmb_Temp.DisplayMember = "user_class";
cmb_Temp.DataSource = dtSex;
cmb_Temp.DropDownStyle =ComboBoxStyle.DropDownList; //只能选择,不能写入 //cmb_Temp.DropDownStyle =ComboBoxStyle.DropDown; //可以写入
// cmb_Temp.DropDownStyle = ComboBoxStyle.Simple;
}
///
// 当用户选择下拉列表框时改变DataGridView单元格的内容
private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentCell != null)
{
DataRowView myrowview = (DataRowView)cmb_Temp.SelectedItem;
//dataGridView1.CurrentCell.Value = cmb_Temp.SelectedValue.ToString(); dataGridView1.CurrentCell.Value = myrowview[2].ToString();//选取的文本 dataGridView1.CurrentCell.Tag = cmb_Temp.SelectedValue; //选取的编码
// MessageBox.Show("text:" + cmb_Temp.SelectedText + "-item:" +
cmb_Temp.SelectedItem.ToString() + "-value:" +
cmb_Temp.SelectedValue.ToString()+"-index:"+cmb_Temp.SelectedIndex.ToString());
// DataRowView myrowview = (DataRowView)cmb_Temp.SelectedItem;
//
MessageBox.Show(myrowview[0].ToString()+"--"+myrowview[1].ToString()+"--"+myrowview[2].ToString()); //获得对应的value和text
datagridview 数据处理方法 修改 删除 添加 下拉类表 弹出窗口
}
}
private void dataGridView1_CurrentCellChanged_1(object sender, EventArgs e) {
// 当用户移动到性别这一列时单元格显示下拉列表框
try
{
if (dataGridView1.CurrentCell.ColumnIndex == 3)
{
Rectangle rect =
dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex,
dataGridView1.CurrentCell.RowIndex, false);
string sexValue = dataGridView1.CurrentCell.Value.ToString(); //MessageBox.Show(sexValue);
cmb_Temp.Text = sexValue;
cmb_Temp.Left = rect.Left;
cmb_Temp.Top = rect.Top;
cmb_Temp.Width = rect.Width;
cmb_Temp.Height = rect.Height;
cmb_Temp.Visible = true;
}
else
{
cmb_Temp.Visible = false;
}
}
catch
{
}
}
private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
{
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




