-
大小: 67KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-09
- 语言: C#
- 标签: DataGridView
资源简介
C# DataGridView单元格中动态添加多个控件。开发环境VS2012。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 列表
{
struct structData
{
public int No;
public string Info;
}
enum enumData
{
No = 0
Info
}
public partial class Form1 : Form
{
DataTable Table = new DataTable(); //数据,绑定DataGridView
structData[] Data = new structData[10]; //数据,长度自行更改
string NoColumnName = Enum.GetName(typeof(enumData) 0); //数据源列名
string InfoColumnName = Enum.GetName(typeof(enumData) 1); //数据源列名
CheckBox[] Chx = new CheckBox[10]; //按钮CheckBox
Button[] Btn = new Button[10]; //按钮Button
int ColumnIndex = 1; //要添加在哪一个列的索引
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
Init();
}
private void Init()
{
Bind();
ColumnHeader();
AddControl();
}
private void Bind()
{
Table.Columns.Add(NoColumnName typeof(int));
Table.Columns.Add(InfoColumnName typeof(string));
for (int i = 0; i < Data.Length; i++)
{
DataRow row = Table.NewRow();
row[NoColumnName] = Data[i].No;
row[InfoColumnName] = Data[i].Info;
Table.Rows.Add(row);
}
Table.AcceptChanges();
dataGridView1.DataSource = Table;
dataGridView1.Refresh();
}
//添加按钮
private void AddControl()
{
dataGridView1.Columns[InfoColumnName].Width = 70;
for (int i = 0; i < Data.Length; i++)
{
TextBox tbx = new TextBox();
CheckBox chx = new CheckBox(); //添加CheckBox
Button btn = new Button(); //添加Button
//添加
dataGridView1.Controls.Add(chx);
dataGridView1.Controls.Add(btn);
//获取大小
Rectangle rect = dataGridView1.GetCellDisplayRectangle(ColumnIndex i true);
//大小设置
tbx.Size = new Size((rect.Width / 3) rect.Height);
chx.Size = new Size((rect.Width / 3) rect.Height);
btn.Size = new Size((rect.Width / 3) rect.Height);
//位置设置
tbx.Location = new Point(rect.Left rect.Top );
chx.Location = new Point(rect.Left + tbx.Width rect.Top);
btn.Location = new Point(rect.Left + tbx.Width + chx.Width rect
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 187 2018-12-18 11:44 列表\列表\App.config
文件 12800 2018-12-19 14:31 列表\列表\bin\Debug\列表.exe
文件 187 2018-12-18 11:44 列表\列表\bin\Debug\列表.exe.config
文件 28160 2018-12-19 14:31 列表\列表\bin\Debug\列表.pdb
文件 22984 2018-12-19 14:32 列表\列表\bin\Debug\列表.vshost.exe
文件 187 2018-12-18 11:44 列表\列表\bin\Debug\列表.vshost.exe.config
文件 490 2010-03-17 22:39 列表\列表\bin\Debug\列表.vshost.exe.manifest
文件 6090 2018-12-19 14:31 列表\列表\Form1.cs
文件 4328 2018-12-19 14:31 列表\列表\Form1.Designer.cs
文件 6177 2018-12-19 14:31 列表\列表\Form1.resx
文件 6931 2018-12-18 11:44 列表\列表\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-12-18 11:44 列表\列表\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-12-18 11:44 列表\列表\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-12-18 11:44 列表\列表\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 591 2018-12-19 14:32 列表\列表\obj\Debug\列表.csproj.FileListAbsolute.txt
文件 975 2018-12-19 14:31 列表\列表\obj\Debug\列表.csproj.GenerateResource.Cache
文件 2209 2018-12-18 14:59 列表\列表\obj\Debug\列表.csprojResolveAssemblyReference.cache
文件 12800 2018-12-19 14:31 列表\列表\obj\Debug\列表.exe
文件 180 2018-12-19 14:31 列表\列表\obj\Debug\列表.Form1.resources
文件 28160 2018-12-19 14:31 列表\列表\obj\Debug\列表.pdb
文件 180 2018-12-18 14:59 列表\列表\obj\Debug\列表.Properties.Resources.resources
文件 518 2018-12-18 11:44 列表\列表\Program.cs
文件 1350 2018-12-18 11:44 列表\列表\Properties\AssemblyInfo.cs
文件 2864 2018-12-18 11:44 列表\列表\Properties\Resources.Designer.cs
文件 5612 2018-12-18 11:44 列表\列表\Properties\Resources.resx
文件 1093 2018-12-18 11:44 列表\列表\Properties\Settings.Designer.cs
文件 249 2018-12-18 11:44 列表\列表\Properties\Settings.settings
文件 3791 2018-12-18 14:59 列表\列表\列表.csproj
文件 908 2018-12-18 11:44 列表\列表.sln
..A..H. 190976 2018-12-19 14:32 列表\列表.v11.suo
............此处省略12个文件信息
- 上一篇:c# asp.net 二维码生成源码改良版
- 下一篇:中英文切换
相关资源
- Q758437.zip c#中如何将datagridview中的数据
- C#从Excel中提取数据到DataGridView中显示
- C# 从Excel导入数据到DataGridView、SqlSe
- C#对DataGridView进行添加、修改、删除数
- C# datagridview 与数据源绑定后对数据的
- Winform DataGridView中利用WebClient异步加载
- c#窗体中的DataGridView及TreeView的应用
- winform(c#) DataGridView控件多维合并表
- winform DataGridView 多行及表头单元格的
- Datagridview分页控件
- winform高效率的分页查询
- c# DataGridView中添加下拉列表
- c#datagridview小票打印单据存储
- c# 如何删除datagridview中数据并删除数
- C#中DataGridView控件DateTime列插入DateTi
- 完美实现ComBox多列下拉框+自动完成
- C#如何动态添加或删除窗体中的控件(
- C# 三层架构实现DataGridView与Listview的增
- c#实现datagridview绑定到数据库的图像点
- C#中读取sql server的数据,并在datagri
- C#&SQLite 学生信息管理系统
- DataGridView合并单元格、分页显示、页
- winform漂亮的第三方控件按钮datagridv
- winform dataGridView分页控件
- WinForm下编写分页控件,实现DataGridV
- C#DatagridViewWinform导入导出Excel-最全完
- 在Winform中实现带进度条的DataGridView控
- C#char图表-从SQLite中读取数据显示在
- C# 重写datagridview(合并单元格与列头
- C# DataGridView DataGridViewColumn 扩展操作列
评论
共有 条评论