dataGridView 添加行

本文介绍了使用C#创建DataSet和DataTable的过程,包括定义表名、添加列(如AccountTime、AccountItem等),设置列属性,以及通过循环创建并填充数据行的方法。
            DataSet ds = new DataSet();
            //创建表
            DataTable dt = new DataTable("Account");
            //创建表的列
            DataColumn dcTime = new DataColumn("AccountTime", typeof(string));
            DataColumn dcItem = new DataColumn("AccountItem", typeof(string));
            dcItem.MaxLength = 50;
            DataColumn dcAmount = new DataColumn("AccountPrice", typeof(string));
            DataColumn dcRemarks = new DataColumn("AccountRemarks", typeof(string));
            dcRemarks.MaxLength = 100;
            dt.Columns.Add(dcTime);
            dt.Columns.Add(dcItem);
            dt.Columns.Add(dcAmount);
            dt.Columns.Add(dcRemarks);
            //创建表的行
            for (int i = 0; i < 5;i++ )
            {
                DataRow dr = dt.NewRow();
                dr["AccountTime"] = "测试";
                dr["AccountItem"] = "似的";
                dr["AccountPrice"] = "发热";
                dr["AccountRemarks"] = "难道";
                dt.Rows.Add(dr);
                //ds.Tables.Add(dt);
            }
            this.dataGridView1.DataSource = dt;
           // this.dataGridView1.DataSource = ds.Tables[0].DefaultView;

转载于:https://www.cnblogs.com/net_YL/archive/2009/09/22/1571802.html

DataGridView添加标题有多种方法: ### 方法一:使用RowsAdded事件 将多个dataGridView的RowsAdded事件绑定dataGridView_RowsAdded方法,在其中对标题单元格的值进设置(文档未给出具体方法体代码,但提出相关思路)[^1]。 ### 方法二:使用RowStateChanged事件 可以在DataGridView控件的RowStateChanged事件中改变标题单元格的值(Row.HeaderCell.Value),示例代码如下: ```csharp /// <summary> /// 状态更改时发生 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) { e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();//添加号 } ``` #### 示例解释: 当DataGridView状态发生改变时,触发`dataGridView1_RowStateChanged`方法,在该方法里将当前标题单元格的值设置为索引加1后的字符串形式,这样就实现了为每一添加号作为标题的功能。 [^4] ### 方法三:使用RowPostPaint事件 在DataGridView的RowPostPaint事件中添加标题,可使用以下公用方法: ```csharp #region 写号事件 //在DataGridView控件上选择RowPostPaint事件 private void dgvJointList_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { ((DataGridView)sender).fillRowHeaderIndex(e); } #endregion #region DataGridView的RowPostPaint事件中使用的添加标题的公用方法 /// <summary> /// DataGridView的RowPostPaint事件中使用的添加标题的公用方法 /// </summary> /// <param name="dgv">DataGridView名</param> /// <param name="e">DataGridViewRowPostPaintEventArgs事件名</param> public static void fillRowHeaderIndex(this DataGridView dgv, DataGridViewRowPostPaintEventArgs e) { Rectangle rectangle = new Rectangle ( e.RowBounds.Location.X, e.RowBounds.Location.Y, dgv.RowHeadersWidth - 4, e.RowBounds.Height ); TextRenderer.DrawText ( e.Graphics, (e.RowIndex + 1).ToString(), dgv.RowHeadersDefaultCellStyle.Font, rectangle, dgv.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right ); } #endregion ``` #### 示例解释: 首先在`dgvJointList_RowPostPaint`方法中调用`fillRowHeaderIndex`方法,在`fillRowHeaderIndex`方法里,创建一个矩形区域,用来确定标题文本绘制的位置,然后使用`TextRenderer.DrawText`方法在这个矩形区域内绘制号文本,实现标题的添加,并且文本会垂直居中并靠右显示 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值