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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.