public class UserInfo
{
public int ClassID { get; set; }
public string UserName { get; set; }
public int Course { get; set; }
public int Score { get; set; }
public UserInfo(int classid,string username,int course,int score)
{
this.ClassID = classid;
this.UserName = username;
this.Course = course;
this.Score = score;
}
}
protected void Page_Load(object sender, EventArgs e)
{
//语文ID:1 数学ID:2 英语ID:3 计算机ID:4 List<UserInfo> lst_user = new List<UserInfo>();
lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
lst_user.Add(new UserInfo(1, "xiaoming", 3 , 90));
lst_user.Add(new UserInfo(1, "xiaoming", 4 , 99)); lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88)); lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
}
如何拼接成字符串<table>
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr>
<tr>
<td>1</td>
<td>xiaoming</td>
<td>98</td>
<td>99</td>
<td>88</td>
<td>90</td>
</tr>
<tr>
<td>2</td>
<td>xiaohong</td>
<td>98</td>
<td>99</td>
<td>90</td>
<td>88</td>
</tr>
.............................
</table>
?????????????????????????????????????????????????
{
public int ClassID { get; set; }
public string UserName { get; set; }
public int Course { get; set; }
public int Score { get; set; }
public UserInfo(int classid,string username,int course,int score)
{
this.ClassID = classid;
this.UserName = username;
this.Course = course;
this.Score = score;
}
}
protected void Page_Load(object sender, EventArgs e)
{
//语文ID:1 数学ID:2 英语ID:3 计算机ID:4 List<UserInfo> lst_user = new List<UserInfo>();
lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
lst_user.Add(new UserInfo(1, "xiaoming", 3 , 90));
lst_user.Add(new UserInfo(1, "xiaoming", 4 , 99)); lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88)); lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
}
如何拼接成字符串<table>
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr>
<tr>
<td>1</td>
<td>xiaoming</td>
<td>98</td>
<td>99</td>
<td>88</td>
<td>90</td>
</tr>
<tr>
<td>2</td>
<td>xiaohong</td>
<td>98</td>
<td>99</td>
<td>90</td>
<td>88</td>
</tr>
.............................
</table>
?????????????????????????????????????????????????
楼主要的明显是一个<table>,用来显示的
string.Join(@"\r\n", lst_user.Select(x => string.Format("<tr><td>{0}</td><td>{1}</td>...</tr>", x.ClassID, x.UserName, ...)).ToArray()) +
"</table>";
<td>用户ID</td>
<td>用户名</td>
<td>学科</td>
<td>分数</td>
</tr>
跟上面的问题不一样
我要的是这个
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr>
拼接里面 结果这样就不会了
我要的是这个
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr>
void Main()
{
List<UserInfo> lst_user = new List<UserInfo>();
lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
lst_user.Add(new UserInfo(1, "xiaoming", 3 , 90));
lst_user.Add(new UserInfo(1, "xiaoming", 4 , 99)); lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88)); lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
//语文ID:1 数学ID:2 英语ID:3 计算机ID:4
var query=lst_user.GroupBy(u=>new{u.ClassID,u.UserName})
.Select(g=>new
{
ClassID=g.Key.ClassID,
UserName=g.Key.UserName,
语文=g.FirstOrDefault(x=>x.Course==1).Score,
数学=g.FirstOrDefault(x=>x.Course==2).Score,
英语=g.FirstOrDefault(x=>x.Course==3).Score,
计算机=g.FirstOrDefault(x=>x.Course==4).Score
});
StringBuilder result=new StringBuilder("<table>\r\n");
result.Append(@"<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr> ");
query.ToList().ForEach(u=>result.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td></tr>\r\n",
new object[]{u.ClassID,u.UserName,u.语文,u.计算机,u.数学,u.英语}));
result.AppendLine("</table>");
Console.WriteLine(result.ToString());}
public class UserInfo
{
public int ClassID { get; set; }
public string UserName { get; set; }
public int Course { get; set; }
public int Score { get; set; }
public UserInfo(int classid,string username,int course,int score)
{
this.ClassID = classid;
this.UserName = username;
this.Course = course;
this.Score = score;
} }
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr> <tr><td>1</td><td>xiaoming</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
<tr><td>2</td><td>xiaohong</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
<tr><td>3</td><td>xiaoS</td><td>98</td><td>66</td><td>70</td><td>88</td></tr>
</table>
string result = @"<table><tr><th>ID</th><th>姓名</th><th>语文</th><th>数学</th><th>英语</th><th>计算机</th></tr>" +
string.Join("", lst_user.Select(x => string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>", x.ClassID, x.UserName, x.Course, x.Score)).ToArray()) +
"</table>";
请指教
我该如何取一个作者的语文 数学 英语 计算机等成绩呢?
List<CourseInfo> CourseInfo包含UserId,CourseId,Course要么直接一个UserInfo
包含Courses属性,以数组装入成绩。
User表 科目表 分数表
userid courseid course
我之所以这样写 为了更直观的表达我的意思嘛