C#DataGridView控件怎么增加行、列?

C#DataGridView控件怎么增加行、列?,第1张

添加列:

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中就简单多了。

string str = @"server=S404-83\SQL2005database=mysql2integrated security=true"

SqlConnection myconn = new SqlConnection(str)

try

{

myconn.Open()

string s = "select *from student"

SqlDataAdapter da = new SqlDataAdapter(s,myconn)

DataSet ds = new DataSet()

da.Fill(ds)

dataGridView1.DataSource = ds.Tables[0].DefaultView

myconn.Close()

}

catch (SqlException b)

{

MessageBox.Show(b.Message)

}

这个是我以前写的把数据库表内容导入datagridview里边,你可以参考一下,你是要用三层架构做么?如果那样,定义方法在使用的时候调用就可以了

用循环datatable绑定。

注意事项:

当访问DataTable对象时,请注意它们是按条件区分大小写的。例如,如果一个DataTable被命名为“mydatatable”,另一个被命名为“Mydatatable”,则用于搜索其中一个表的字符串被认为是区分大小写的。

如果“mydatatable”存在而“Mydatatable”不存在,则认为该搜索字符串不区分大小写。一个DataSet可以包含数个DataTable对象,它们具有相同的TableName属性值和不同的Namespace属性值。

扩展资料:

按名称引用表中的列、关系和约束是区分大小写的。 因此,一个表中可以存在两个或两个以上名称相同的列、关系或约束。 例如,您可以有 Col1 和 col1。 在这种情况下,按名称引用某一列就必须完全符合该列名的大小写,否则会引发异常。

如果表 myTable 包含列 Col1 和列 col1,就要以 myTable.Columns["Col1"] 的形式来按名称引用 Col1。

而以 myTable.Columns["col1"] 的形式按名称引用col1。 尝试以 myTable.Columns["COL1"] 的形式来引用其中某列就会产生异常。

参考资料来源:百度百科-DataTable


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11183915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存