|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Walking thr DataReaderI have the following code that I need to optimize but I have somenthing that doesn't work quite as expected: I am doing the following: I am coloring a calendar according to dates present in the DB yellow if the dates are present, blank for available dates. I have some problems handling NULL values. The following code works well as long I don't encounter a NULL value because it doesn't do what I'd like it to do. It should check each and every row returned and evaluate if the row has a record, if it does it should then render a yellow background color for my calendar. I have not included the code that make me select a value from a DropDownList control and pass it to the query as a parameter. Whan I select an apartment that contains NULL values it DOES NOT color yellow any other previous date that were present in the DB for that particular apartment I simply have everything white. Why is that, I don't get it. I have this out of hands in the terms that clearly exits my IF ... THEN statement at the first NULL value that it finds without rendering the other dates. I hope this explains my situation. Dim dr as OleDbDataReader Dim strSQL as String = "SELECT dteDataArrivo, dteDataPartenza FROM tblPrenotazioni WHERE IDImmobile = " & lstApt.SelectedValue Dim cmd as New OleDbCommand(strSQL, objConnessione) objConnessione.Open() dr = cmd.ExecuteReader() Do While dr.Read() If Not IsDBNull(dr.Item(0)) and Not IsDbNull(dr.Item(1)) Then If (E.Day.Date >= dr.Item(0)) and (E.Day.Date < dr.Item(1)) Then e.cell.BackColor = System.Drawing.Color.Yellow End If Else e.cell.BackColor = System.Drawing.Color.White lblErrors.Text= "Empty Dates founds" End If Loop objConnessione.Close() Thanks for your help L. I'm not sure if you can get the code as you have it to work.
You may wish to review the ItemDataBound event. Do a google for ItemDataBound Event --- snipit ( .... dots indicate lots of missing code.... ) Private Sub refresh(ByVal whichStep As EstimatorStepType) ..... Select Case whichStep Case EstimatorStepType.Overview Me.td1.Text = reportDate Me.lblExtractDate1.Text = extractDate Me.formatPeriodNamesInDataGrids(ds) Me.dgOverview.DataSource = ds.Tables(1) 'Here's where the ItemDataBound is called.... ---->>> Me.dgOverview.DataBind() Case EstimatorStepType.Region Me.td2.Text = reportDate .......' at databind we end up here, which in my case processes a number of datagrids on one page Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles _ dgOverview.ItemDataBound, dgRegionSummary.ItemDataBound, dgDirectorSummary.ItemDataBound, dgMCSummary.ItemDataBound ...... ElseIf e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then ...... 'find a control Dim lbl_estAWRV As Label = e.Item.FindControl("lblEst_AWRV") ......' do something ......' find another control & change it's color, in this case any scheduled item in the past If e.Item.DataItem("est_install_date") < Date.Now Then e.Item.Cells(3).ForeColor = System.Drawing.Color.Red End If ...... HTH JeffP.... "Lorenzo" <CuTT-!thISoFfonlyLeAveMyNamelorenzoWithNoNuMBErS98776@LeaveMyCountry!!!ITALIANl Show quoteHide quote odging.it.NOSPAM> wrote in message news:e9BCdC8AGHA.3928@tk2msftngp13.phx.gbl... > Hello There, > I have the following code that I need to optimize but I have somenthing that > doesn't work quite as expected: > I am doing the following: I am coloring a calendar according to dates > present in the DB yellow if the dates are present, blank for available > dates. I have some problems handling NULL values. The following code works > well as long I don't encounter a NULL value because it doesn't do what I'd > like it to do. > > It should check each and every row returned and evaluate if the row has a > record, if it does it should then render a yellow background color for my > calendar. I have not included the code that make me select a value from a > DropDownList control and pass it to the query as a parameter. Whan I select > an apartment that contains NULL values it DOES NOT color yellow any other > previous date that were present in the DB for that particular apartment I > simply have everything white. > Why is that, I don't get it. I have this out of hands in the terms that > clearly exits my IF ... THEN statement at the first NULL value that it finds > without rendering the other dates. I hope this explains my situation. > > > > Dim dr as OleDbDataReader > Dim strSQL as String = "SELECT dteDataArrivo, dteDataPartenza FROM > tblPrenotazioni WHERE IDImmobile = " & lstApt.SelectedValue > Dim cmd as New OleDbCommand(strSQL, objConnessione) > > objConnessione.Open() > dr = cmd.ExecuteReader() > > > Do While dr.Read() > If Not IsDBNull(dr.Item(0)) and Not IsDbNull(dr.Item(1)) Then > If (E.Day.Date >= dr.Item(0)) and (E.Day.Date < dr.Item(1)) Then > e.cell.BackColor = System.Drawing.Color.Yellow > End If > Else > e.cell.BackColor = System.Drawing.Color.White > lblErrors.Text= "Empty Dates founds" > End If > Loop > > objConnessione.Close() > > > > Thanks for your help > L. > > Hello, thanks for the reply
I am within a CalendarControl onDayRender event that I am sure will get rendered the same way a DataGrid does but is there anything simpler? If not I will just avoid inserting NULL values in the DB... Sorry I am beginner... L. Show quoteHide quote "JDP@Work" <JPGMTNoSpam@sbcglobal.net> ha scritto nel messaggio news:eb$pnDFBGHA.2912@tk2msftngp13.phx.gbl... > I'm not sure if you can get the code as you have it to work. > > You may wish to review the ItemDataBound event. > > Do a google for ItemDataBound Event > > --- snipit ( .... dots indicate lots of missing code.... ) > > Private Sub refresh(ByVal whichStep As EstimatorStepType) > .... > Select Case whichStep > Case EstimatorStepType.Overview > Me.td1.Text = reportDate > Me.lblExtractDate1.Text = extractDate > Me.formatPeriodNamesInDataGrids(ds) > Me.dgOverview.DataSource = ds.Tables(1) > 'Here's where the ItemDataBound is called.... > ---->>> Me.dgOverview.DataBind() > Case EstimatorStepType.Region > Me.td2.Text = reportDate > ......' at databind we end up here, which in my case processes a number of > datagrids on one page > Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As > System.Web.UI.WebControls.DataGridItemEventArgs) Handles _ > dgOverview.ItemDataBound, dgRegionSummary.ItemDataBound, > dgDirectorSummary.ItemDataBound, dgMCSummary.ItemDataBound > ..... > ElseIf e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = > ListItemType.AlternatingItem Then > ..... 'find a control > Dim lbl_estAWRV As Label = e.Item.FindControl("lblEst_AWRV") > .....' do something > .....' find another control & change it's color, in this case any > scheduled item > in the past > If e.Item.DataItem("est_install_date") < Date.Now Then > e.Item.Cells(3).ForeColor = System.Drawing.Color.Red > End If > ..... > > HTH > > JeffP.... > > "Lorenzo" > <CuTT-!thISoFfonlyLeAveMyNamelorenzoWithNoNuMBErS98776@LeaveMyCountry!!!ITALIANl > odging.it.NOSPAM> wrote in message > news:e9BCdC8AGHA.3928@tk2msftngp13.phx.gbl... >> Hello There, >> I have the following code that I need to optimize but I have somenthing >> that >> doesn't work quite as expected: >> I am doing the following: I am coloring a calendar according to dates >> present in the DB yellow if the dates are present, blank for available >> dates. I have some problems handling NULL values. The following code >> works >> well as long I don't encounter a NULL value because it doesn't do what >> I'd >> like it to do. >> >> It should check each and every row returned and evaluate if the row has a >> record, if it does it should then render a yellow background color for my >> calendar. I have not included the code that make me select a value from >> a >> DropDownList control and pass it to the query as a parameter. Whan I >> select >> an apartment that contains NULL values it DOES NOT color yellow any other >> previous date that were present in the DB for that particular apartment I >> simply have everything white. >> Why is that, I don't get it. I have this out of hands in the terms that >> clearly exits my IF ... THEN statement at the first NULL value that it >> finds >> without rendering the other dates. I hope this explains my situation. >> >> >> >> Dim dr as OleDbDataReader >> Dim strSQL as String = "SELECT dteDataArrivo, dteDataPartenza FROM >> tblPrenotazioni WHERE IDImmobile = " & lstApt.SelectedValue >> Dim cmd as New OleDbCommand(strSQL, objConnessione) >> >> objConnessione.Open() >> dr = cmd.ExecuteReader() >> >> >> Do While dr.Read() >> If Not IsDBNull(dr.Item(0)) and Not IsDbNull(dr.Item(1)) Then >> If (E.Day.Date >= dr.Item(0)) and (E.Day.Date < dr.Item(1)) Then >> e.cell.BackColor = System.Drawing.Color.Yellow >> End If >> Else >> e.cell.BackColor = System.Drawing.Color.White >> lblErrors.Text= "Empty Dates founds" >> End If >> Loop >> >> objConnessione.Close() >> >> >> >> Thanks for your help >> L. >> >> > > Lorenzo,
To that end of not inserting nulls, I usually have an sProc return my data, there I can transform nulls into empty values. For example if I have a process for sales, I would never have a sale dated, 1/1/1951, but that date can be used for logically setting my color. Since any null date is returned as such I can test and set my properties. HTH JeffP.... "Lorenzo" <CuTT-!thISoFfonlyLeAveMyNamelorenzoWithNoNuMBErS98776@LeaveMyCountry!!!ITALIANl Show quoteHide quote odging.it.NOSPAM> wrote in message news:uyItn8XBGHA.208@tk2msftngp13.phx.gbl... <CuTT-!thISoFfonlyLeAveMyNamelorenzoWithNoNuMBErS98776@LeaveMyCountry!!!ITALIANl> Hello, thanks for the reply > > I am within a CalendarControl onDayRender event that I am sure will get > rendered the same way a DataGrid does but is there anything simpler? > > If not I will just avoid inserting NULL values in the DB... > > Sorry I am beginner... > L. > > > "JDP@Work" <JPGMTNoSpam@sbcglobal.net> ha scritto nel messaggio > news:eb$pnDFBGHA.2912@tk2msftngp13.phx.gbl... > > I'm not sure if you can get the code as you have it to work. > > > > You may wish to review the ItemDataBound event. > > > > Do a google for ItemDataBound Event > > > > --- snipit ( .... dots indicate lots of missing code.... ) > > > > Private Sub refresh(ByVal whichStep As EstimatorStepType) > > .... > > Select Case whichStep > > Case EstimatorStepType.Overview > > Me.td1.Text = reportDate > > Me.lblExtractDate1.Text = extractDate > > Me.formatPeriodNamesInDataGrids(ds) > > Me.dgOverview.DataSource = ds.Tables(1) > > 'Here's where the ItemDataBound is called.... > > ---->>> Me.dgOverview.DataBind() > > Case EstimatorStepType.Region > > Me.td2.Text = reportDate > > ......' at databind we end up here, which in my case processes a number of > > datagrids on one page > > Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As > > System.Web.UI.WebControls.DataGridItemEventArgs) Handles _ > > dgOverview.ItemDataBound, dgRegionSummary.ItemDataBound, > > dgDirectorSummary.ItemDataBound, dgMCSummary.ItemDataBound > > ..... > > ElseIf e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = > > ListItemType.AlternatingItem Then > > ..... 'find a control > > Dim lbl_estAWRV As Label = e.Item.FindControl("lblEst_AWRV") > > .....' do something > > .....' find another control & change it's color, in this case any > > scheduled item > > in the past > > If e.Item.DataItem("est_install_date") < Date.Now Then > > e.Item.Cells(3).ForeColor = System.Drawing.Color.Red > > End If > > ..... > > > > HTH > > > > JeffP.... > > > > "Lorenzo" > > Show quoteHide quote > > odging.it.NOSPAM> wrote in message > > news:e9BCdC8AGHA.3928@tk2msftngp13.phx.gbl... > >> Hello There, > >> I have the following code that I need to optimize but I have somenthing > >> that > >> doesn't work quite as expected: > >> I am doing the following: I am coloring a calendar according to dates > >> present in the DB yellow if the dates are present, blank for available > >> dates. I have some problems handling NULL values. The following code > >> works > >> well as long I don't encounter a NULL value because it doesn't do what > >> I'd > >> like it to do. > >> > >> It should check each and every row returned and evaluate if the row has a > >> record, if it does it should then render a yellow background color for my > >> calendar. I have not included the code that make me select a value from > >> a > >> DropDownList control and pass it to the query as a parameter. Whan I > >> select > >> an apartment that contains NULL values it DOES NOT color yellow any other > >> previous date that were present in the DB for that particular apartment I > >> simply have everything white. > >> Why is that, I don't get it. I have this out of hands in the terms that > >> clearly exits my IF ... THEN statement at the first NULL value that it > >> finds > >> without rendering the other dates. I hope this explains my situation. > >> > >> > >> > >> Dim dr as OleDbDataReader > >> Dim strSQL as String = "SELECT dteDataArrivo, dteDataPartenza FROM > >> tblPrenotazioni WHERE IDImmobile = " & lstApt.SelectedValue > >> Dim cmd as New OleDbCommand(strSQL, objConnessione) > >> > >> objConnessione.Open() > >> dr = cmd.ExecuteReader() > >> > >> > >> Do While dr.Read() > >> If Not IsDBNull(dr.Item(0)) and Not IsDbNull(dr.Item(1)) Then > >> If (E.Day.Date >= dr.Item(0)) and (E.Day.Date < dr.Item(1)) Then > >> e.cell.BackColor = System.Drawing.Color.Yellow > >> End If > >> Else > >> e.cell.BackColor = System.Drawing.Color.White > >> lblErrors.Text= "Empty Dates founds" > >> End If > >> Loop > >> > >> objConnessione.Close() > >> > >> > >> > >> Thanks for your help > >> L. > >> > >> > > > > > >
Wizard Control - Referencing buttons in <StepNavigationTemplate>
Datagrid only shows the header Master Page problem CheckBoxList problem. Want to add some javascript to each checkbox Custom memebrship provider problem Sorting in GridView problem Can RDLC Reports be used with Oracle data sources? User Control First Load Cant get a gridview to bind to my dataset Implement form's onSubmit functionality |
|||||||||||||||||||||||