1、点击添加,实例化一个DataGridView的行对象DataRow 然后把这个对象添加到DataGridView中,你的DataGridView要是可编辑状态,然后编辑数据,点保存循环读取DataGridView的行数据,存到实体类中,在通过后台SQL保存到数据库。
2、将datagridview于数据库中对应的表进行绑定,绑定完成之后直接在datagridview中进行添加就可以,自动在数据库中添加并保存。
3、创建一个表结构,每次新增的时候往表里面加一条记录,然后DataGridView再绑定表就可以了。保存的时候连接数据库+sql就完成了。
4、就是正常的添加就可以了啊。首先连接数据库 而后插入数据库的表。
5、gridview没有自带这种功能,只自带了,编辑删除(也可能是我不知道,我没用过直接可以添加一行新的)你可以模仿一个这样的功能,用js动态添加一行textbox,每个字段对应一个,你把数据添加后,点击保存,就ok了,当然你的动态添加的textbox要在gridview下面,样式要对齐,感觉上是gridview添加了一行。
添加列:
DataGridViewColumn column = new DataGridViewColumn()
设置column属性如:column.HeaderText = "列名"
dgv1.columns.add(column)
添加行:
DataGridViewRow row = new DataGridViewRow()
设置row属性
dgv1.rows.add(row)
(一)。自适应窗体的代码:
using System
using System.Windows.Forms
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
//1.声明自适应类实例
AutoSizeFormClass asc = new AutoSizeFormClass()
public Form1()
{
InitializeComponent()
//如果加入"皮肤",则不能在Form1_Load中记录控件的大小和位置,因为有些控件如dataGridView的子控件还未完成
//而要在在Form1_SizeChanged中,第一次改变时,记录控件的大小和位置
this.skinEngine1.SkinFile = "EmeraldColor1.ssk"
}
//2. 为窗体添加Load事件,并在其方法Form1_Load中,调用类的初始化方法,记录窗体和其控件的初始位置和大小
private void Form1_Load(object sender, EventArgs e)
{
// asc.controllInitializeSize(this)
}
//3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,调用类的自适应方法,完成自适应
private void Form1_SizeChanged(object sender, EventArgs e)
{
asc.controlAutoSize(this)
// this.WindowState = (System.Windows.Forms.FormWindowState)(2)//记录完控件的初始位置和大小后,再最大化
}
}
}
(二)。自适应类的代码
using System.Collections.Generic
using System.Windows.Forms
namespace WindowsFormsApplication1
{
class AutoSizeFormClass
{
//(1).声明结构,只记录窗体和其控件的初始位置和大小。
public struct controlRect
{
public int Left
public int Top
public int Width
public int Height
}
实际 *** 作起来可能没有你想象的那么简单,你需要响应Form Resize之类的事件,然后根据事件,实时逐个调整控件的大小。在WPF中就简单多了。
首先需要弄清楚的是datagrid是用来呈现后台绑定的数据集合的。所以楼主想增加datagrid里的数据的话,可以直接通过添加后台数据来实现。wpf里绑定方式有许多种,默认为单向绑定。即后台数据变化,前台不会刷新。前台做了某些交互,后台也不会发生数据的变化。当然,如果只需要完成楼主的意图:即后台数据刷新,前台表格刷新的话,只需要将后台的数据实体实现INotifyPropertyChanged接口就可以了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)