2012 m. spalio 29 d., pirmadienis

MS SQL subtilybės

= NULL vs. IS NULL

= NULL - tas pats, kas lyginimas su false reikšme. Rezultatas - tuščia aibė.
IS NULL - išveda realius duomenis

COALESCE (CONVERTER(NVARCHAR,stulpelisInteger), stulpelisEilute, 'NA') as naujasStulpelis - čia vykdome konvertavimas, kad visame stulpelyje būtų vienos reiškėms - eilutės reiškšmės

ORDER BY stupelisPirmas, stulpelisAntras DESC - pagal nutylėjimą stulpelisPirmas bus rikiuojamas ASC tvarka

2012 m. spalio 28 d., sekmadienis

Pirmoji programa Assembler

http://codewall.blogspot.com/2011/06/create-your-first-assembly-program-step.html - kaip paleisti pirmą programą

Assembler tutorial: http://www.csn.ul.ie/~darkstar/assembler/tut1.html

2012 m. spalio 18 d., ketvirtadienis

Add column to replicated database

Paprastai naudojame: ALTER TABLE Groups ADD JobTitleID int NULL;

Į replikuojamą duomenų bazę įterpiame: sp_repladdcolumn 'Groups', 'JobTitleID', 'int null'

Pastaba: reikia įterpti į pagrindinę duomenų bazę, t.y. pagrindinį Publisher, o kitose duomenų bazėje stulpelis prisidės automatiškai.

2012 m. spalio 17 d., trečiadienis

Add column to VIEW in MS SQL steps

  1. CREATE
    VIEW [dbo].[APP_TEST] AS select a.id, a.Criterion  from Criterions as a
  2. ALTER
    VIEW [dbo].[APP_TEST] AS select a.id, a.Criterion, a.Explain from Criterions as a
  3. SELECT
    * FROM APP_TEST

2012 m. spalio 15 d., pirmadienis

Kaip pakeisti linebreak TextBox MultiLine elemente į žymę < br / >?

Problema:

Dabar gaunu tekstą:

Tekstas: vienas du trys

Noriu gauti taip:

Tekstas:
vienas
du
trys

Sprendimas:

Pridėkite tokį kodą:


tbNotes.Text = tbNotes.Text.Replace(vbLf, "
"
+ vbCrLf)

tbNotes.Text = tbNotes.Text.Replace(vbCrLf, "
"
+ vbCrLf)

tbNotes.Text = tbNotes.Text.Replace(vbNewLine, "
"
+ vbCrLf)

http://stackoverflow.com/questions/9208822/how-can-i-change-the-linebreaks-from-a-multiline-textbox-to-html-br-tags


2012 m. rugsėjo 11 d., antradienis

JQuery library: jqGrid

JQuery turi dar vieną galingą bibioteką - jqGrid. Ja galima formuoti dideles lenteles su JQuery arba statiškai apibrėžiant stulpelius su trirand dll pagalba.

http://www.trirand.com/blog/
http://labs.excilys.com/2011/03/19/dynamisez-vos-tableaux-avec-jqgrid/

2012 m. rugpjūčio 30 d., ketvirtadienis

LINQ: multiple OrderBy

 
Jeigu su Select išsitraukiame tik vieną parametrą, tada išrenkame unikalius (distinct)ir rūšiuojame paprastai su Order By:


Dim  parts = (From p In odb.Parts Select p.Part Order By Part Ascending).Distinct.ToList



Jeigu su Select išritraukiame daugiau parametrų, tada rišrenkame unikalius (distinct)ir rūšiuojame pagal kelis iš jų, tai naudojame OrderBy, ThenBy:

Dim qResult = (From x In otrainee
 
Select x.em.NameFirst, x.em.NameLast, x.em.Id).Distinct.OrderBy(Function(x) x.NameLast).ThenBy(Function(x) x.NameFirst).ToList



Pastaba: OrderBy ir ThenBy rūšiuose ASC tvarka, o DESC tvarka papildomai yra
OrderByDescending, ThenByDescending

Užkrauti duomenis į JQuery pluginą DataTables


Error: Unable to get value of the property 'aoColumns': object is null or undefined

Solution: http://stackoverflow.com/questions/12023824/applying-a-jquery-datatable-plug-in-to-dynamically-generated-tables-from-asp-net

2012 m. rugpjūčio 28 d., antradienis

JQuery: didelės lentelės vaizdavimas

Problema: didelė lentelė, kai norima, kad pirmas stulpelis būtų fiksuotas.

Sprendimas:

http://www.datatables.net/extras/fixedcolumns/

Pritaikant šią biblioteką svarbu, kad lentelės sutruktūra būtų būtent tokia, kokios reikalaujama http://www.datatables.net/usage/. Tam reikės papildomai į VB ASP.NET įdėti kodą, kuris nurodo, kur DataGrid'e bus headeris

< asp:DataGrid GridLines="Both" ID="dgTrainingMatrix1" runat="server" AutoGenerateColumns="true"

 UseAccessibleHeader="True"

< / asp:DataGrid >
Protected  Sub dgTrainingMatrix_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgTrainingMatrix.PreRender
 If dgTrainingMatrix.Rows.Count > 0 Then
dgTrainingMatrix.HeaderRow.TableSection = TableRowSection.TableHeader
   

End If


End Sub

Kadangi lentelės celėse yra paveiksliukai, tai kad jie būtų intepretuojami kaip HTML kodas, o ne tekstas, papildomai reikia: 


Protected Sub dgTrainingMatrix_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles dgTrainingMatrix.RowDataBound
If (e.Row.RowType = DataControlRowType.DataRow) Then
For i = 1 To (e.Row.Cells.Count - 1)
e.Row.Cells(i).Text = Server.HtmlDecode(e.Row.Cells(i).Text)

Next
End If
End Sub

 

DataGrid dinamiškai užpildomas taip:


Dim objDataTable As New System.Data.DataTable

objDataTable.Columns.Add(GetString(372), String.Empty.GetType())



For Each oc In oCources

Dim trCol As DataColumn = objDataTable.Columns.Add(oc.TrDTitle, String.Empty.GetType())

Next

For Each empl In oEmpl

Dim strList1 = New List(Of String)

strList1.Add(empl.NameLast & " " & empl.NameFirst)

For Each oc In oCources

Dim findCourse = False

For Each ot In otm

If (ot.tv.TrEmpID = empl.Id And ot.tv.TrDescID = oc.TrDID And findCourse <> True) Then

If ot.tv.TrIWILastTrainingIssueNo IsNot Nothing And ot.tv.TrIWIIssueNo IsNot Nothing And ot.tv.TrIWILastTrainingIssueNo > ot.tv.TrIWIIssueNo Then

strList1.Add("< img src='../ images/ TrainingMatrix/ matrix_update.gif' alt='' />")

ElseIf ot.tv.TrRefreshDate IsNot Nothing And ot.tv.TrRefresh IsNot Nothing Then

If (ot.tv.TrRefreshDate - Today.Date).Value.TotalDays < 0 Then

strList1.Add("< img src= '../ images/ TrainingMatrix/ matrix_update.gif' alt=' '/>")

Else

strList1.Add("< img src= '../images/ TrainingMatrix/ matrix_good.gif' alt=''/>")

End If

Else

strList1.Add("< img src='../ images/ TrainingMatrix/ matrix_good.gif' alt= '' />")

End If

findCourse = True

End If

Next

If findCourse <> True Then

strList1.Add("< img src='../ images / TrainingMatrix / matrix_bad.gif' alt = ' ' />")

End If

Next

objDataTable.Rows.Add(strList1.ToArray)

Next

If objDataTable.Columns.Count > 0 Then

Dim objDT As System.Data.DataTable = objDataTable

Me.dgTrainingMatrix.DataSource = objDT

Me.dgTrainingMatrix.DataBind()

End If

Galutinis rezultatas:



2012 m. rugpjūčio 23 d., ketvirtadienis

A error has TimThumb occured

Problem:
 
A error has TimThumb occured
The Following error (s) occured:

     Could not open the LockFile for writing an image.
 
Solution: 
 
I made the cache folder permissions to 777. 

2012 m. rugpjūčio 21 d., antradienis

MS SQL: datos funkcija

DATEDIFF(MONTH, emp.StartDate, GETDATE())<=4

2012 m. rugpjūčio 19 d., sekmadienis

The server tag is not well formed.

Sprendimas:
<asp:HyperLink ID="lnkProject" Target="_blank" runat="server" Text='<%# Eval("PM_No")%>'

NavigateUrl='<%# "http://lelx/GIDC/Request.aspx?ID=" & Eval("PM_No") %>'></asp:HyperLink>

2012 m. rugpjūčio 16 d., ketvirtadienis

Only Web services with a [ScriptService] attribute on the class definition can be called from script.

Sprendimas:

Į service.vb puslapį įdėti eilutę
< System . Web . Script . Services. ScriptService() > _

2012 m. rugpjūčio 15 d., trečiadienis

LINQ: Group Join example

Dim obj = From a In odb.Table1
Join pm In odb.Table2 On a.SysID Equals pm.PSystem_Dept
Group Join sgs In odb.Table3 On sgs.PM_No Equals pm.PM_No Into tms = Group
From t In tms.DefaultIfEmpty()
Where (a.SysID = ddlSystem.SelectedValue)
Select New With {
pm.PM_No,
pm.PM_Title,
pm.PM_Descr,
pm.CreatedOn,
pm.Done,
t.SGS,
t.SGS_Notes
}