c# datagridview绑定数据源(BindingList<class>)中的现象 待查
现象1:
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 datagridview
{
public partial class Form1 : Form
{
public Int32 count = 0;
public string str = "test!";
BindingList<Item> items = new BindingList<Item>(); public Form1()
{
InitializeComponent(); //禁止自动创建列
this.dataGridView1.AutoGenerateColumns = false; //将左边的一栏去掉
this.dataGridView1.RowHeadersVisible = false; //允许用户交换列
this.dataGridView1.AllowUserToOrderColumns = true; this.dataGridView1.DataSource = items; //创建“序号”列
DataGridViewTextBoxColumn serial = new DataGridViewTextBoxColumn();
serial.HeaderText = "序号";
serial.DataPropertyName = "Serial";
this.dataGridView1.Columns.Add(serial); //创建“文本”列
DataGridViewTextBoxColumn text = new DataGridViewTextBoxColumn();
text.HeaderText = "文本";
text.DataPropertyName = "Text";
this.dataGridView1.Columns.Add(text); } private void button1_Click(object sender, EventArgs e)
{
} private void button2_Click(object sender, EventArgs e)
{
items.Add(new Item(str, count++));
//items.Add(new Item(0) { Text = str, Serial = count++ }); //有时候使用DataGridView难免会在最后插入一条数据,如果插入的数据超过滚动条显示的行数,
//那么默认情况下不会显示到最后一行。增加以下代码一直将滚动条拉倒最低。
this.dataGridView1.FirstDisplayedScrollingRowIndex = this.dataGridView1.Rows.Count - 1;
}
} class Item
{
private string _text;
private int _serial; public string Text
{
get { return _text; }
} public int Serial
{
get { return _serial; }
} public Item(string text, int serial)
{
this._text = text;
this._serial = serial;
} //public string Text { get; set; } //public int Serial { get; set; } //public Item(int serial)
//{
// int a = 0;
//}
}
}
运行结果:
当在Item类中增加默认构造函数后:
class Item
{
private string _text;
private int _serial; public string Text
{
get { return _text; }
} public int Serial
{
get { return _serial; }
} public Item(string text, int serial)
{
this._text = text;
this._serial = serial;
} public Item()
{
int a = 0;
}
运行结果:
显示最后一栏空白,原因未知待查!
c# datagridview绑定数据源(BindingList<class>)中的现象 待查的更多相关文章
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
- DataGridView绑定数据源
给DataGridView绑定数据源比較简单,方法主要有两种: 1.直接在控件属性中绑定数据源,这样的方法最简单,但它是直接连接数据库的,这样就和传DataTable的后果差点儿相同了,所以还是尽量避 ...
- DataGridView绑定数据源的几种方式
使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据. 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可.在绑 ...
- 章鱼哥出品—VB.NET DataGridView绑定数据源 "与货币管理器的位置关联的行不能设置为不可见" 问题的解决
DtaGridView绑定数据源后.假设想让数据条件显示的话,直接使用 My_Row.Visible = False就会出错.错误类型是 "与货币管理器的位置关联的行不能设置为不可见&qu ...
- DataGridView绑定数据源后添加行
本文链接:https://blog.csdn.net/u012386475/article/details/88639799 在已经绑定数据源时,无法以Add的方式方式添加行,会报错 解决方法一: D ...
- 【转】DataGridView绑定数据源的几种方式
第一种:DataSet ds=new DataSet (); this.dataGridView1.DataSource=ds.Table[0]; 第二种:DataTable dt=new DataT ...
- C# 关于DataGridView 绑定数据源时列名窜位置 的处理
只需要写一句话:dataGridView1.AutoGenerateColumns = false; 代码提示中的解释:获取或设置一个值,该值指示在设置System.Windows.Forms.Dat ...
- C# DataGridView绑定数据源
第一种: DataSet ds=new DataSet (); ]; 第二种: DataTable dt=new DataTable(); this.dataGridView1.DataSource= ...
- winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中
; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums ...
随机推荐
- Keil uVision4 创建51单片机工程
Keil uVision4 创建51单片机工程 版权声明:未经授权,严禁转载! 在学习51单片机的过程当中,我们需要使用 Keil uVision4 来创建一个项目,今天就来图示一下创建的流程. 首先 ...
- CentOS7 彻底关闭 IPV6
查看服务监听的IP中是否有IPv6格式的地址 netstat -tuln 如果有tcp6协议的就是有打开ip6 编辑/etc/default/grub,在GRUB_CMDLINE_LINUX加上的后面 ...
- 20165310 NetSec Week4 Exp2 后门原理与实践
20165310 NetSec Exp2后门原理与实践 一.基础问题 例举你能想到的一个后门进入到你系统中的可能方式? 网页木马等访问网页导致 下载非官方源软件 随意下载邮件中不明程序等 例举你知道的 ...
- webpack对于引入的模块无法智能代码提示
前端模块太多了,模块里的方法比较难记住,所以我们一般靠的都是IDE的代码提示. 但是有时候我们会发现对于引入的模块没有代码提示,我也安装了模块呀,为什么没有代码提示? 主要是package.json的 ...
- Codeforces 581F Zublicanes and Mumocrates - 树形动态规划
It's election time in Berland. The favorites are of course parties of zublicanes and mumocrates. The ...
- Django框架(九) Django之ORM常用字段和参数
ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范 ...
- 牛客竞赛&&mjt的毒瘤赛
题目链接 https://ac.nowcoder.com/acm/contest/368/F 思路 询问可以离线. 然后每个节点上建32个权值线段树(权值不大,其实只要20颗) 记录每一位权值为x(如 ...
- luogu1975 [国家集训队]排队
思路 序列中 |i | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| |----|--|--|--|--|--|--|--|--|--|--| |a[i]| a| b| c| L| d ...
- Docker 命令收集
Docker 命令收集 1.删除所有容器 docker rm $(docker ps -a -q) 2.删除所有镜像 docker rmi $(docker images -q) 3.启动镜像 doc ...
- 比较好的一些 ConcurrentHashMap讲解博客
jdk8 https://blog.csdn.net/jianghuxiaojin/article/details/52006118#commentBox jdk7.8 https://crossov ...