在我的ASP.net网页表单中,我有相当多的radiobuttonLists。我使用如下所示的方法动态绑定它们:
public static void PopulateRadioButtonList(DataTable currentDt, RadioButtonList currentRadioButtonList, string strTxtField, string txtValueField,
string txtDisplay)
{
currentRadioButtonList.Items.Clear();
ListItem item = new ListItem();
currentRadioButtonList.Items.Add(item);
if (currentDt.Rows.Count > 0)
{
currentRadioButtonList.DataSource = currentDt;
currentRadioButtonList.DataTextField = strTxtField;
currentRadioButtonList.DataValueField = txtValueField;
currentRadioButtonList.DataBind();
}
else
{
currentRadioButtonList.Items.Clear();
}
}现在,我只想显示RadioButton项文本的DataTextField的第一个字母。
例如,如果值是好的,我只想显示G。如果它是公平的,我想显示F。
如何在C#中执行此操作
谢谢
发布于 2010-10-13 02:14:20
当你绑定时,你不能做你想做的,所以你有两个选择:
因此,如果您想要显示“RadioButton项目文本的DataTextField的第一个字母”,您可以这样做:
currentRadioButtonList.DataSource = currentDt;
currentRadioButtonList.DataTextField = strTxtField;
currentRadioButtonList.DataValueField = txtValueField;
currentRadioButtonList.DataBind();
foreach (ListItem item in currentRadioButtonList.Items)
item.Text = item.Text.Substring(0, 1);如果我误解了您的意思,而您想要显示Value字段的第一个字母,您可以将最后两行替换为:
foreach (ListItem item in currentRadioButtonList.Items)
item.Text = item.Value.Substring(0, 1);发布于 2010-10-13 02:26:01
您可以将属性添加到正在绑定的类型(包含Good、Fair等的类型)。并绑定到此属性。如果你总是使用第一个字母,你可以这样做(当然,添加空检查):
public string MyVar { get; set; }
public string MyVarFirstChar
{
get { return MyVar.Substring(0, 2); }
}https://stackoverflow.com/questions/3917599
复制相似问题