如何使 ObjectListView 中的一列复选框表现得像单选按钮?
How can I make a column of check boxes in the ObjectListView behave like radio buttons?
我正在使用 ObjectListView,我玩得很开心。诚然,我没有太多在模型视图结构中做事的经验,最重要的是,ObjectListView 页面的源伪造页面已关闭。
我有一个布尔列在 OLV 中设置为复选框,我希望它的行为类似于单选按钮。我的问题是我无法捕获 OLV 中复选框的点击事件。我的基础模型是一个文件 (class),它包含一个具有 3 个属性的字段列表 (class)。字段 class 的属性之一是此复选框。因此,据推测,该字段知道它何时被单击,但它不知道文件,文件应该检查它是否有任何其他字段设置为 属性。
谁能给我指出正确的方向?
谢谢。
这个呢?
olv.ItemChecked += delegate(object sender, ItemCheckedEventArgs e)
{
var item = e.Item as OLVListItem;
if (item != null && e.Item.Checked)
{
var objects = ObjectListView.EnumerableToArray(olv.Objects, true);
objects.Remove(item.RowObject);
olv.UncheckObjects(objects);
}
}
这是我想出的:
private void tlvFields_SubItemChecking(object sender, BrightIdeasSoftware.SubItemCheckingEventArgs e)
{
foreach(var field in f.Fields)
{
if(field.PK)
{
field.PK = false;
}
}
tlvFields.SetObjects(_files);
}
我花了一段时间才弄清楚如何弄乱视图下的模型。一旦我弄明白了,这就容易多了。
我正在使用 ObjectListView,我玩得很开心。诚然,我没有太多在模型视图结构中做事的经验,最重要的是,ObjectListView 页面的源伪造页面已关闭。
我有一个布尔列在 OLV 中设置为复选框,我希望它的行为类似于单选按钮。我的问题是我无法捕获 OLV 中复选框的点击事件。我的基础模型是一个文件 (class),它包含一个具有 3 个属性的字段列表 (class)。字段 class 的属性之一是此复选框。因此,据推测,该字段知道它何时被单击,但它不知道文件,文件应该检查它是否有任何其他字段设置为 属性。
谁能给我指出正确的方向?
谢谢。
这个呢?
olv.ItemChecked += delegate(object sender, ItemCheckedEventArgs e)
{
var item = e.Item as OLVListItem;
if (item != null && e.Item.Checked)
{
var objects = ObjectListView.EnumerableToArray(olv.Objects, true);
objects.Remove(item.RowObject);
olv.UncheckObjects(objects);
}
}
这是我想出的:
private void tlvFields_SubItemChecking(object sender, BrightIdeasSoftware.SubItemCheckingEventArgs e)
{
foreach(var field in f.Fields)
{
if(field.PK)
{
field.PK = false;
}
}
tlvFields.SetObjects(_files);
}
我花了一段时间才弄清楚如何弄乱视图下的模型。一旦我弄明白了,这就容易多了。