12. august 2010 - 21:41Der er
13 kommentarer og 1 løsning
DataFormatString fra 5-14 til 05.00-14.00
Hej,
Jeg har et gridview, hvor jeg i en kolonne viser et tids-interval, som er sammensat i en linq-query.
Problemet er, at tidspunktet ser ud som eksempelvis: 5-14, hvilket ikke ser så prof. ud, og jeg vil derfor gerne have det formateret til 05.00-14.00 i den pågældende kolonne.
Problemet er, at jeg fra min linq får to tidspunkter på dagen, der giver et tids-interval, hvor jeg indsætter et "-" som seperator... Disse bliver vist som eks. 5-13 og jeg vil gerne have, at det i stedet bliver vist som 05.00-13.00.
Jeg trækker data ud med ling2sgl og bruger følgende linie, hvor jeg henter to tidspunkter, som er DateTime, og sætter en "-" imellem disse. Dette sætter jeg ind i min kolonne i gridview'et:
Tak tak - jeg bruger en datatable, hvor jeg gennemløber alle items, så det funger ikke helt, men løsningen må være, at jeg blot append'er de tegn jeg skal have ind:
Hey! Tak for de mange svar, har ikke fået svaret jer, da jeg har været væk i weekenden - beklager!
Problemet med min linq2sql er delvist selvforskyldt. Jeg laver i min kode den IEnumerable, jeg returnerer fra min linq query, om til en datatable for at kunne lave sorting og paging på gridviewet. Ved ikke om dette giver mening?
Anywho - så er det selve konverteringen til datatable der gør, at div. metoder brugt i queryen ikke kan konverteres - da det ikke er "items"...
Jeg bruger følgende kode til det:
public static DataTable ToDataTable<T>(this IEnumerable<T> items) { // Create the result table, and gather all properties of a T DataTable table = new DataTable(typeof(T).Name); PropertyInfo[] props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
// Add the properties as columns to the datatable foreach (var prop in props) { Type propType = prop.PropertyType;
// Is it a nullable type? Get the underlying type if (propType.IsGenericType && propType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) propType = new NullableConverter(propType).UnderlyingType;
table.Columns.Add(prop.Name, propType); }
// Add the property values per T as rows to the datatable foreach (var item in items) { var values = new object[props.Length]; for (var i = 0; i < props.Length; i++) values[i] = props[i].GetValue(item, null);
table.Rows.Add(values); }
return table; }
Ved ikke om der er nogen let work around - det er vel grundlæggende ikke den snedigste måde at gå fra linq2sql til gridview på??
Jeg prøver at bokse løsningen om, så jeg bruger en linqDataSource i stedet for DataTable.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.