当前位置: 首页 > 编程语言 > C#

如何使用List填充数据表分享

时间:2023-04-10 20:22:41 C#

如何使用List填充数据表如何将列表转换为数据表[Serializable]publicclassItem{publicstringName{get;放;}publicdoublePrice{get;放;}publicstring@URL{get;放;}publicItem(stringName,stringPrice,string@URL){this.Name=Name;this.Price=Convert.ToDouble(Price);这个.@URL=@URL;}publicoverridestringToString(){returnthis.Name;}}我尝试使用:staticDataTableConvertToDatatable(Listlist){DataTabledt=newDataTable();dt.Columns.Add("姓名");dt。Columns.Add("价格");dt.Columns.Add("网址");foreach(variteminlist){dt.Rows.Add(item.Name,Convert.ToString(item.Price),item.URL);}返回dt;}现在我得到一个框出现,但它是空的!帮助!!我应该怎么做才能让盒子真正有数据?如果您的类对象中有可为空的属性:privatestaticDataTableConvertToDatatable(Listdata){PropertyDescriptorCollectionprops=TypeDescriptor.GetProperties(typeof(T));DataTable表=newDataTable();对于(inti=0;i))table.Columns.Add(prop.Name,prop.PropertyType.GetGenericArguments()[0]);elsetable.Columns.Add(prop.Name,prop.PropertyType);}object[]values=newobject[props.Count];foreach(Titemindata){for(inti=0;我试试这个staticDataTableConvertToDatatable(Listlist){DataTabledt=newDataTable();dt.Columns.Add("Name");dt.Columns.Add("Price");dt.Columns.Add("URL");foreach(variteminlist){varrow=dt.NewRow();row["Name"]=item.Name;row["Price"]=Convert.ToString(item.Price);row["URL"]=item.URL;dt.Rows.Add(row);}returndt;}我还不得不想出一个替代解决方案,因为没有此处列出的选项在我使用IEnumerable的情况下有效,基础数据是IEnumerable,无法枚举属性。就是这样:以上就是C#学习教程:如何使用List来填充数据表中共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—//remove"this"ifnotonC#3.0/.NET3.5publicstaticDataTableConvertToDataTable(thisIEnumerabledata){列表列表=data.Cast().ToList();PropertyDescriptorCollection道具=null;DataTable表=newDataTable();if(list!=null&&list.Count>0){props=TypeDescriptor.GetProperties(list[0]);for(inti=0;i本文搜集自网络,不代表立场,如涉及侵权,请点击维权联系管理员删除。如需转载,请注明出处: