Hatte bis jetzt nur kleine Anwendungen entwickelt, nun wollt ich mich
auch mal in Webseiten probieren... allerdings hang ich noch nie so wie hier..
Hier einmal der Code :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113:
| using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Configuration; using System.Drawing; using System.IO; using System.Data;
public partial class MainSite : System.Web.UI.Page { ConnectionStringSettings connectionInfo; DataTable datTable; List<ProduktAktion> aktList; Image noPicture;
protected class ProduktAktion { Image picture { get; set; } String description { get; set; } String mixes { get; set; } String unit { get; set; } String price_original { get; set; } String price_aktion { get; set; }
protected internal ProduktAktion(Image new_pic, String new_desc, String new_mixes, String new_unit, String new_price_or, String new_price_akt) { picture = new_pic; description = new_desc; mixes = new_mixes; unit = new_unit; price_original = new_price_or; price_aktion = new_price_akt; } }
protected void Page_Load(Object sender, EventArgs e) { if (!Page.IsPostBack) GridViewAktion.DataBind(); } protected void GridView_Load(object sender, EventArgs e) { noPicture = Image.FromFile(@"C:\Users\Thomas\Documents\Visual Studio 2010\WebSites\SchTeddUndMehr\noImage.bmp"); aktList = new List<ProduktAktion>(); connectionInfo = ConfigurationManager.ConnectionStrings["RefToDatabase"]; SqlConnection connection = new SqlConnection(connectionInfo.ConnectionString);
SqlCommand selectCommand = new SqlCommand("select Bild, Beschreibung, Menge, Einheit, Preis_netto, Rabatt, MWST, Aktion, Aktiv from Produkte", connection);
selectCommand.Connection.Open();
SqlDataReader dataReader = selectCommand.ExecuteReader();
double dnormalPrice; decimal normalPrice, aktionPrice;
Image aPic = null;
datTable = new DataTable(); datTable.Columns.Add("Bild"); datTable.Columns.Add("Beschreibung"); datTable.Columns.Add("Menge"); datTable.Columns.Add("Einheit"); datTable.Columns.Add("Preis normal"); datTable.Columns.Add("Preis jetzt"); while (dataReader.Read()) { if ((bool)dataReader["Aktion"] && (bool)dataReader["Aktiv"]) { dnormalPrice = (double)dataReader["Preis_netto"] * ((((double)(int)dataReader["MWST"]) / 100) + 1); normalPrice = (decimal)dnormalPrice; aktionPrice = (decimal)(dnormalPrice - (dnormalPrice * (double)dataReader["Rabatt"] / 100)); if (System.DBNull.Value != dataReader["Bild"]) { Byte[] bytePic = new Byte[0]; bytePic = (Byte[])dataReader["Bild"]; MemoryStream streamPic = new MemoryStream(bytePic); aPic = Image.FromStream(streamPic); } else aPic = noPicture;
DataRow newRow = datTable.NewRow(); newRow["Bild"] = aPic; newRow["Beschreibung"] = dataReader["Beschreibung"].ToString(); newRow["Menge"] = String.Format("{0:f}", (double)dataReader["Menge"]); newRow["Einheit"] = dataReader["Einheit"].ToString(); newRow["Preis normal"] = normalPrice.ToString("C2", new System.Globalization.CultureInfo("de-DE")); newRow["Preis jetzt"] = aktionPrice.ToString("C2", new System.Globalization.CultureInfo("de-DE"));
datTable.Rows.Add(newRow); } } dataReader.Close(); connection.Close();
GridViewAktion.DataSource = datTable; GridViewAktion.DataBind(); }
protected void ButtAktion_Click(object sender, EventArgs e) {
} } |
Es funktioniert soweit alles, außer das die eingelesenen Daten "nicht" im GridView angezeigt werden...
Such jetzt schon 3 Tage im Internet und bin langsam am verzweifeln, kann mir da bitte jemand weiterhelfen ?
Und wenn mir einer den unschönen Fehler erklären könnte :
C#-Quelltext
1: 2:
| using System.Drawing; |
Vielen Dank schon mal !
Moderiert von Kha: Code- durch C#-Tags ersetzt