我有一个数据表dtRecords,其值如下:
RollNo 名称
120约翰
121 johney
122 sam
我想在列表框中添加这些值,如下面的格式。
RollNo:[RollNo],名称:[名称]
注意:[RollNo]是ColumnName标识格式
预期输出:
RollNo:120,姓名:John
RollNo:121,姓名:Johney
我可以使用for循环来实现这一点,但是还有其他一些方法,例如使用linq或任何其他概念。
请在您的建议中加入示例。
我尝试使用下面的linq代码,但我没有得到正确的输出。
string mystring="RollNo:[RollNo] , Name: [Name]";
List<DataColumn> cols = ClsGlobal.dtRecords.Columns.Cast<DataColumn>().ToList();
dtRecords.AsEnumerable().ToList().ForEach(r => cols.ForEach(c =>listBox1.Items.Add(mystring.Replace("[" + c.ColumnName + "]", r[c.ColumnName].ToString()))));
答案 0 :(得分:3)
这样的东西?
var query = (from c in dt.AsEnumerable()
select new { Value=c.Field<int>("RollNo"),
Text=c.Field<string>("Name")}).ToList();
然后将query
绑定到ListBox。
<强>更新强>
OP只想要字符串;所以这应该这样做:var query = (from c in dt.AsEnumerable()
select "RollNo: "+ c.Field<int>("RollNo")+ " , Name: "+ c.Field<string>("Name")).ToList();