拆分字符串并在c#中添加组合框

时间:2015-03-17 10:45:20

标签: c# string combobox

我从数据库中获取数据并添加到组合框。该字符串包含带逗号的名称列表。

DataRow dr = newdt.Rows[i];
TraineeCombo.Items.Add(dr["Trainee"].ToString());

它工作正常,但我想拆分字符串并将每个项目添加到组合框。我试过以下方法。

 DataRow dr = newdt.Rows[i];
 string TempTr = dr["Trainee"].ToString();
 string[] result = TempTr.Split(new Char[] {','});
 foreach (string s in result)
      {
        if (s.Trim() != "")
        TraineeCombo.Items.Add(s);
       }

第二种方法:

String TempTr = dr["Trainee"].ToString();
TraineeCombo.Items.AddRange(TempTr.Split(','));

但两种方法都显示错误

无法将字符串转换为char []和无效参数。 我从msdn获得了这段示例代码。我可以解决它吗?

4 个答案:

答案 0 :(得分:0)

试试这个

DataRow dr = newdt.Rows[i];
string TempTr = dr["Trainee"].ToString();
string[] result = TempTr.Split(',');
foreach (string s in result)
  {
    if (s.Trim() != "")
    TraineeCombo.Items.Add(s);
   }

答案 1 :(得分:0)

如果您的数据库是" str"试试这个:

 string str= "Landon,Paris,Tehran,OtherCity";
        var strsplited = str.Split(",".ToCharArray());


        foreach (var VARIABLE in strsplited)
        {
            comboBox1.Items.Add(VARIABLE);
        }

答案 2 :(得分:0)

使用

Convert.ToString(dr["Trainee"]) 

您可能收到InvalidCastException。一个简单的原因是Convert使代码更具可读性,读取代码的代码将完全理解您的意图。 另一种解决方案是使用TryParse。 你的分裂应该是:

yourString.Split(',')

答案 3 :(得分:0)

为db列值检查null ...

        sDataRow dr = newdt.Rows[i];

        object value = dr["Trainee"];
        if (value != DBNull.Value)
        {
            string TempTr = dr["Trainee"].ToString();
            string[] result = TempTr.Split(',');
            foreach (string s in result)
            {
                if (s.Trim() != "")
                    TraineeCombo.Items.Add(s);
            }
        }