Bru*_*oLM 8 c# datagridview winforms
我绑定了DataGridView
一个List<T>
.我已经设定了设计师Enable adding
.
如果列表为null,我将创建一个空列表,以便显示标题,但它不会为我创建一个空行以便能够添加元素.为什么?如何让用户为此列表添加值?
一些代码
public IEnumerable<Value> ValueList
{
get;
set;
}
private void Form1_Load(object sender, EventArgs ev)
{
if (ValueList == null)
{
ValueList = new List<Value>();
}
dataGrid.DataSource = ValueList;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*Jon 13
首先,DataGridView.AllowUserToAddRows
必须true
(因为你在设计师中设置它).
该财产说
如果DataGridView绑定到数据,则如果此属性和数据源的IBindingList.AllowNew属性都设置为true,则允许用户添加行.
IBindingList.AllowNew
(这是不可设置的)也提到:
如果IList.IsFixedSize或IList.IsReadOnly为true,则此属性返回false.
既然你有约束力IEnumerable
,我相信IsReadOnly
是false
.尝试将列表公开为a List<T>
并绑定到a BindingList<T>
.
public List<Value> ValueList
{
get;
set;
}
private void Form1_Load(object sender, EventArgs ev)
{
if (ValueList == null)
{
ValueList = new List<Value>();
}
dataGrid.DataSource = new BindingList<Value>(ValueList);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8448 次 |
最近记录: |