 |
|
date ข้ามฟอร์มไม่ได้ Error DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'start'. |
|
 |
|
|
 |
 |
|
ไม่มี property field ที่ชื่อว่า start มันเลยพังครับ
|
 |
 |
 |
 |
Date :
2011-11-11 10:20:49 |
By :
sarawut_p |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แปลงค่าให้เป็น
2011-11-11
ค่าที่ส่งได้ start=11/11/2011 12:00:00 AM &end=11/11/2011 12:00:00 AM มาเป็นรูปแบบนี้ครับ
แต่อยากให้แปลงเป็น start=2011-11-11 &end=2011-11-11 ได้ไหนครับ
|
 |
 |
 |
 |
Date :
2011-11-11 11:51:12 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ให้เป็นแบบนี้แล้วก็ไม่หายครับ AND Date >= to_date('" & txt_start.Text & "','yyyy-MM-dd') "
ค่าที่ส่งได้ start=11/11/2011 12:00:00 AM &end=11/11/2011 12:00:00 AM ยังเหมือนเดิมครับ
|
 |
 |
 |
 |
Date :
2011-11-12 06:43:26 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง Debug แล้วเอา SQL ออกมาดูหน่อยครับ
|
 |
 |
 |
 |
Date :
2011-11-12 16:52:11 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Process.Click
Dim strDate As String = Now.ToString("yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo)
txt_start.Text = strDate
txt_end.Text = strDate
conn.Open()
Dim sqlOrder As String
sqlOrder = " SELECT ovst.hn,pt.dspname,pt.brthdate ,DtoAge(Pt.BrthDate, trunc(sysdate), 3) As Age,ovst.vstDate FROM pt,ovst "
sqlOrder &= " WHERE pt.hn=ovst.hn "
sqlOrder &= " AND ovst.vstDate >= to_date('" & txt_start.Text = strDate & "','yyyy-MM-dd') )"
sqlOrder &= " AND Ovst.VstDate <= to_date('" & txt_end.Text = strDate & "','yyyy-MM-dd') "
da = New OracleDataAdapter(sqlOrder, conn)
da.Fill(ds, "ovst")
If ds.Tables("ovst").Rows.Count <> 0 Then
GridView1.DataSource = ds.Tables("ovst")
GridView1.DataBind()
End If
End Sub
|
 |
 |
 |
 |
Date :
2011-11-13 09:24:07 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มีใครตอบผมครับ
|
 |
 |
 |
 |
Date :
2011-11-15 06:50:01 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
Dim sqlOrder As String
sqlOrder = " SELECT ovst.hn,pt.dspname,pt.brthdate ,DtoAge(Pt.BrthDate, trunc(sysdate), 3) As Age,ovst.vstDate FROM pt,ovst "
sqlOrder &= " WHERE pt.hn=ovst.hn "
'sqlOrder &= " AND ovst.vstDate >= to_date('" & txt_Start.Text = strDate & "','yyyy-MM-dd') )"
'sqlOrder &= " AND Ovst.VstDate <= to_date('" & txt_End.Text = strDate & "','yyyy-MM-dd') "
sqlOrder &= " AND ovst.vstDate >= to_date('" & txt_Start.Text & "','yyyy-MM-dd') )"
sqlOrder &= " AND Ovst.VstDate <= to_date('" & txt_End.Text & "','yyyy-MM-dd') "
|
 |
 |
 |
 |
Date :
2011-11-15 09:16:54 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เหมือนเดิมครับ
details.aspx?hn=460006532&start=11/15/2011 12:00:00 AM &end=11/15/2011 12:00:00 AM
มันไม่เป็น แบบนี้ให้ 2011-01-11 yyyy-MM-dd
|
 |
 |
 |
 |
Date :
2011-11-15 20:35:50 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก
<a href="opd-details.aspx?hn=<%# Eval("hn")%>&vstDate=<%# Eval("start")%> &vstDate=<%# Eval("end")%>"> More... </a>
hn,start,end มันมาจากใหนครับ ??? ไม่เห็นมีในโค้ด 
|
 |
 |
 |
 |
Date :
2011-11-16 10:27:47 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
<asp:TemplateField HeaderText="รายละà¹à¸à¸µà¸¢à¸">
<ItemTemplate>
<a href="opd-details.aspx?hn=<%# Eval("hn")%>&start=<%# Eval("vstDate")%> &end=<%# Eval("vstDate")%>"> More... </a>
</ItemTemplate>
|
 |
 |
 |
 |
Date :
2011-11-16 21:28:38 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาไปวางก่อนใส่ dataSource
Code (VB.NET)
Dim ci As New System.Globalization.CultureInfo("en-US")
'ถ้า พศ. เปลี่ยนเป็น th-TH
For Each d As DataRow In ds.Tables("ovst").Rows
Dim vstDate As Date = CType(d("vstDate"), Date)
d("vstDate") = vstDate.ToString("yyyy-MM-dd", ci)
Next
GridView1.DataSource = ds.Tables("ovst")
|
 |
 |
 |
 |
Date :
2011-11-17 08:59:03 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Process.Click
conn.Open()
Dim ci As New System.Globalization.CultureInfo("en-US")
Dim sqlOrder As String
sqlOrder = " SELECT ovst.hn,pt.dspname,pt.brthdate ,DtoAge(Pt.BrthDate, trunc(sysdate), 3) As Age,ovst.vstDate FROM pt,ovst "
sqlOrder &= " WHERE pt.hn=ovst.hn "
sqlOrder &= " AND ovst.vstDate >= to_date('" & txt_start.Text & "','yyyy-MM-dd') "
sqlOrder &= " AND Ovst.VstDate <= to_date('" & txt_end.Text & "','yyyy-MM-dd') "
da = New OracleDataAdapter(sqlOrder, conn)
da.Fill(ds, "ovst")
For Each d As DataRow In ds.Tables("ovst").Rows
Dim vstDate As Date = CType(d("vstDate"), Date)
d("vstDate") = vstDate.ToString("yyyy-MM-dd", ci)
Next
GridView1.DataSource = ds.Tables("ovst")
GridView1.DataBind()
End Sub
เหมือนเดิมครับ
details.aspx?hn=460006532&start=11/15/2011 12:00:00 AM &end=11/15/2011 12:00:00 AM
มันไม่เป็น แบบนี้ให้ 2011-01-11 yyyy-MM-dd
|
 |
 |
 |
 |
Date :
2011-11-17 20:49:08 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นเอาตัวอย่างไปดูก่อนละกัน

Code (ASP)
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding = "10">
<Columns>
<asp:TemplateField HeaderText="Hn">
<ItemTemplate>
<%#Eval("hn")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="OldVstDate">
<ItemTemplate>
<%#Eval("oldVstDate")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="vstDate">
<ItemTemplate>
<%# Eval("vstDate")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Link To Opd Details Url">
<ItemTemplate>
<%#"opd-details.aspx?hn=" + Eval("hn") + "&start=" + Eval("vstDate") + "&end=" + Eval("vstDate")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
Code (VB.NET)
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Me.IsPostBack Then
Exit Sub
End If
Dim ci As New System.Globalization.CultureInfo("en-US")
Dim ds As New Data.DataSet()
Dim dtOvst As Data.DataTable = ds.Tables.Add("ovst")
dtOvst.Columns.Add("hn")
dtOvst.Columns.Add("oldVstDate")
dtOvst.Columns.Add("vstDate")
For i As Integer = 0 To 10
Dim dr As Data.DataRow = dtOvst.NewRow()
dr("hn") = i
dr("oldVstDate") = Now.AddDays(i)
dr("vstDate") = dr("oldVstDate")
dtOvst.Rows.Add(dr)
Next
For Each d As Data.DataRow In ds.Tables("ovst").Rows
Dim vstDate As Date = CType(d("vstDate"), Date)
d("vstDate") = vstDate.ToString("yyyy-MM-dd", ci)
d("hn") = CInt(d("hn")).ToString(Now.ToString("yy") & "0000")
Next
GridView1.DataSource = ds.Tables("ovst")
GridView1.DataBind()
End Sub
End Class
|
ประวัติการแก้ไข 2011-11-19 14:25:38
 |
 |
 |
 |
Date :
2011-11-19 14:23:13 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พี่เหมือนเดิมครับ
แต่เอาตัวอย่างของพี่ไป Run ได้ตามปกติ
ใส่แค่นี้ น่าจะได้ แต่ไม่ได้ครับ มันไม่แปลงให้ครับ ขอบคุณครับ
Code (VB.NET)
Dim ci As New System.Globalization.CultureInfo("en-US")
'ถ้า พศ. เปลี่ยนเป็น th-TH
For Each d As DataRow In ds.Tables("ovst").Rows
Dim vstDate As Date = CType(d("vstDate"), Date)
d("vstDate") = vstDate.ToString("yyyy-MM-dd", ci)
Next
GridView1.DataSource = ds.Tables("ovst")
|
 |
 |
 |
 |
Date :
2011-11-20 09:26:30 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พี่มันเกิดจากสาเหตุอะไรครับ
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2011-11-22 09:18:07 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พี่ช่วยหน่อยครับ ยังไม่ได้เลยครับ ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2011-11-23 19:36:20 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ้าวโทดทีครับนึกว่าทำได้แล้ว
ว่าแต่ลอง debug ดูยังครับว่า หลังจากปุ่มที่ชื่อ Process ถูกคลิก มันเข้า ลูบ for each รึเปล่า
|
 |
 |
 |
 |
Date :
2011-11-24 08:25:02 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำงานปกติครับ
|
 |
 |
 |
 |
Date :
2011-11-24 11:39:51 |
By :
โต้ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อันนี้ไม้ตายสุดท้าย จาก
http://www.techonthenet.com/oracle/functions/to_char.php
จะได้
SELECT
ovst.hn,
pt.dspname,
pt.brthdate ,
--DtoAge(Pt.BrthDate, trunc(sysdate), 3) As Age,
--DtoAge คืออะไร เป็น store procedure หรือเปล่าครับ : blank: ??
to_char(ovst.vstDate, 'yyyy/mm/dd') as [vstDate]
FROM
pt,ovst
แล้วเอาลูบที่ผมให้ ออก หรือ คอมเม้นไว้ก็ได้
แล้วลองรันดู
( ป.ล. อันนี้ไม่ชัวนะเพราะผมไม่มี oracle )
|
 |
 |
 |
 |
Date :
2011-11-24 15:10:22 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|