-1

タイプのリスト配列をList<string>[]C# の Datatable に変換する必要があります。

List<string[]>Datatable 変換に関連する多くのトピックを見つけましたが、必要な変換については何も見つかりませんでした。

擬似コード:

//Retrieve data from MySQL server 
db.Select(category, productID);
//populate List<string>[] array 
list[0] = db.ListQuery[0];
list[1] = db.ListQuery[1];

//convert list[] to Datatable
.....

どんな助けでも大歓迎です。

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、このようなことを意味していますか?

string category = "Category";
string productId = "ProductId";
List<string[]> tempList = db.Select(category, productID); //Not necessarily correct (I'm not familiar with MySQL). Do what you need to do to create the List<string[]>
DataTable table = new DataTable();
DataRow row;
table.Columns.Add(category);
table.Columns.Add(productId);
foreach (string[] s in tempList)
{
   row = table.NewRow();
   row[category] = s[0];
   row[productId] = s[1];
   table.Rows.Add(row);
}
于 2013-04-14T05:43:20.077 に答える
-1
DataTable dataTable = new DataTable();
            List<MemberInfo> props = typeof(T).GetFields().Select(objField => (MemberInfo)objField).ToList();
            props.AddRange(typeof(T).GetProperties().Select(objField => (MemberInfo)objField));

            if (props.Count > 0)
            {
                Type t;
                bool tIsField = false;
                for (int iCnt = 0; iCnt < props.Count; iCnt++)
                {
                    var prop = props[iCnt];
                    tIsField = prop.MemberType == MemberTypes.Field;
                    dataTable.Columns.Add(prop.Name, tIsField ? ((FieldInfo)prop).FieldType : ((PropertyInfo)prop).PropertyType);
                }
                foreach (T item in data)
                {
                    DataRow dr = dataTable.NewRow();

                    foreach (var field in props)
                    {
                        tIsField = field.MemberType == MemberTypes.Field;
                        object value = tIsField ? ((FieldInfo)field).GetValue(item) : ((PropertyInfo)field).GetValue(item, null);
                        dr[field.Name] = value;
                    }
                    dataTable.Rows.Add(dr);
                }
            }
            return dataTable;
于 2014-04-03T07:13:59.330 に答える