现在A~Z个字母,
要从中选中数据表里包含的字母并做一次排列
如:数据表中有 A E F for (int i = 0; i < 26; i++)
{
char c = Convert.ToChar(i + 65);
foreach (DataRow index in list.Rows)
{
if (c.ToString().Trim() == charindex["index"].ToString().Trim())
{
strinBuilder.Append("<a>"+ c.ToString().Trim() + "</a>");
}
else
{
strinBuilder.Append("<i>" + c.ToString().Trim() + "</i>");
}
}
}结果为:AAABBBCCCDDD
但我想要的效果是:A~Z一行,数据表里有的字母加上红色。
要从中选中数据表里包含的字母并做一次排列
如:数据表中有 A E F for (int i = 0; i < 26; i++)
{
char c = Convert.ToChar(i + 65);
foreach (DataRow index in list.Rows)
{
if (c.ToString().Trim() == charindex["index"].ToString().Trim())
{
strinBuilder.Append("<a>"+ c.ToString().Trim() + "</a>");
}
else
{
strinBuilder.Append("<i>" + c.ToString().Trim() + "</i>");
}
}
}结果为:AAABBBCCCDDD
但我想要的效果是:A~Z一行,数据表里有的字母加上红色。
foreach (DataRow index in list.Rows) 不知道你要做什么。
for (int i = 0; i < 26; i++)
{
char c = Convert.ToChar(i + 65);
foreach (DataRow index in list.Rows)
{
if (c.ToString().Trim() == index["index"].ToString().Trim())
{
strinBuilder.Append("<a>"+ c.ToString().Trim() + "</a>");
}
else
{
strinBuilder.Append("<i>" + c.ToString().Trim() + "</i>");
}
}
}
因为改过命名,这个才是对的.
你的程序的意思是:
假设你的数据的index是 ACDBCABEF
输出是 ACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEF...
我想要的是ABCDEFGHIJKLMNOPQRSTUVWXYZ
其中红色的是数据表中有的,但我只想在26个字母中循环一次,如果数据表有这些数据就会跟别的字母区分
就好像http://www.pcauto.com.cn/cars/c76/一样
for (int i = 0; i < 26; i++)
{
char c = Convert.ToChar(i + 65);
bHave = false;
foreach (DataRow index in list.Rows)
{
if (c.ToString().Trim() == charindex["index"].ToString().Trim())
{
bHave = true;
break;
}
}
if (bHave)
{
strinBuilder.Append("<a>"+ c.ToString().Trim() + "</a>");
}
else
{
strinBuilder.Append("<i>" + c.ToString().Trim() + "</i>");
}
}