我从数据库中获取数据并添加到组合框。该字符串包含带逗号的名称列表。
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获得了这段示例代码。我可以解决它吗?
答案 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);
}
}