我知道这篇帖子很旧,但在寻找解决同样问题的答案时,我看到了这篇帖子,但它没有解决我的问题。刚刚一分钟前我突然想到一个办法,想分享一下我的解决方案。
我有一个组合框里面有三个单选按钮。我使用一个自定义类对象的 List<> 作为数据源。
自定义类对象:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BAL
{
class ProductItem
{
private int glbTaxStatus;
public int TaxStatus
{
get { return glbTaxStatus; }
set { glbTaxStatus = value; }
}
public bool Resale
{
get
{
if (glbTaxStatus.Equals(1))
{
return true;
}
else
{
return false;
}
}
set
{
if (value.Equals(true))
{
glbTaxStatus = 1;
}
}
}
public bool NeverTax
{
get
{
if (glbTaxStatus.Equals(2))
{
return true;
}
else
{
return false;
}
}
set
{
if (value.Equals(true))
{
glbTaxStatus = 2;
}
}
}
public bool AlwaysTax
{
get
{
if (glbTaxStatus.Equals(3))
{
return true;
}
else
{
return false;
}
}
set
{
if (value.Equals(true))
{
glbTaxStatus = 3;
}
}
}
有三个单独的公共变量,通过get/set访问同一个全局变量。
在代码后台中,我有一个函数在Page_Load()期间被调用,设置所有控件的数据绑定。对于每个单选按钮,我都添加了自己的数据绑定。
radResale.DataBindings.Add("Checked", glbProductList, "Resale", true, DataSourceUpdateMode.OnPropertyChanged, false);
radNeverTax.DataBindings.Add("Checked", glbProductList, "NeverTax", true, DataSourceUpdateMode.OnPropertyChanged, false);
radAlwaysTax.DataBindings.Add("Checked", glbProductList, "Always", true, DataSourceUpdateMode.OnPropertyChanged, false);
我希望这能对某些人有所帮助!