现在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一行,数据表里有的字母加上红色。

解决方案 »

  1.   

    index根本没有在代码里面出现。
    foreach (DataRow index in list.Rows) 不知道你要做什么。
      

  2.   


    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>");
                            }
                        }
                    }
    因为改过命名,这个才是对的.
      

  3.   

    你能看懂你自己写的程序么?
    你的程序的意思是:
    假设你的数据的index是 ACDBCABEF
    输出是 ACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEFACDBCABEF...
      

  4.   

    我知道会输出这个结果,但我不想要这个结果,我只是举个例子说明我现在的思路是错的。
    我想要的是ABCDEFGHIJKLMNOPQRSTUVWXYZ
    其中红色的是数据表中有的,但我只想在26个字母中循环一次,如果数据表有这些数据就会跟别的字母区分
      

  5.   

    我有在超级链接样式设置为红色的。
    就好像http://www.pcauto.com.cn/cars/c76/一样
      

  6.   

    bool bHave = false;
    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>");
      }
    }