SMU*_*hah 4 c# data-binding listbox
我正在使用VS2010进行c#.我在表格中有一些数据
分数(team1,team2,battingteam,bowlingteam,得分)我正在使用bindingSource将其与我的listBox绑定.问题是我只能在列表框的DisplayMember属性中显示一个成员(例如team1或team2).我想做点什么
team1 + " vs " + team2 + ": " + battingteam +" Score: " + score
Run Code Online (Sandbox Code Playgroud)
怎么做?
Eli*_*uta 14
首先,您可以将DisplayMember留给一个属性,让我们说:
ListBox1.DisplayMember = "team1";
Run Code Online (Sandbox Code Playgroud)
现在,在[Design]模式下转到表单,右键单击ListBox - > Properties.
在"属性"窗口的顶部,单击"事件"(闪电图标),
在下面的事件列表中查找格式(在Property Changed下)并输入一些事件名称,例如:ListBox1Format,然后按Enter键.你会看到这个:
private void ListBox1Format(object sender, ListControlConvertEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
现在写下以下几行:
private void ListBox1Format(object sender, ListControlConvertEventArgs e)
{
// Assuming your class called Scores
string team1 = ((Scores)e.ListItem).team1.ToString();
string team2 = ((Scores)e.ListItem).team2.ToString();
string battingteam = ((Scores)e.ListItem).battingteam.ToString();
string score = ((Scores)e.ListItem).score.ToString();
e.Value = team1 + " vs " + team2 + ": " + battingteam +" Score: " + score;
}
Run Code Online (Sandbox Code Playgroud)
而已 ;)
我不知道您的数据采用哪种数据类型...但是例如,如果您从DataTable数据库返回它们,您可以创建List<string>对象并迭代数据表行,并在列表对象中创建项目,并根据需要格式化数据直接将列表对象绑定到列表框,如下所示
List<string> teams = new List<string>();
foreach (DataRow dataRow in teamsDataTable.Rows)
{
teams.Add(dataRow["team1"].ToString() + " vs " + dataRow["team2"].ToString() + ": " + dataRow["battingteam"].ToString() + " Score: " + dataRow["score"].ToString());
}
listBox1.DataSource = teams;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13587 次 |
| 最近记录: |