Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > ASP > ASP Forum > jQuery EasyUI DataGrid มีปัญหากับการ search คำว่า 'ไทย' กับ 'พร'



 

jQuery EasyUI DataGrid มีปัญหากับการ search คำว่า 'ไทย' กับ 'พร'

 



Topic : 110468



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




หลังจากทดลองอยู่นาน ก็พอจะเริ่มเป็นรูปเป็นร่างครับ ทำให้ DataGrid search ได้
แต่ติดอยู่ที่ถ้า search บางคำ เช่น ไทย พร เหมือน DataGrid มันไม่ยอม load ข้อมูลใหม่ให้
ต้องคลิ๊กไปประมาณ page ที่ 3 หรือ 4 ข้อมูลถึงมา

แต่ถ้า search คำว่า ภาษาไทย อาหารไทย ทำนองนี้ ข้อมูลโหลดให้ใหม่เลย
แต่ถ้าเป็นคำว่า พร หรือ พระ หรือ พระเจ้า ไม่ยอม load ข้อมูลให้อีก แต่ถ้า เจ้าพระ ได้
(ทั้งๆ ที่มีคำว่า ไทย หรือ พร อยู่ใน database แน่นอน ลอง run query ที่ ms access ก็ได้ผลออกมา)


Code (VBScript)
If xField = "" Then
	SqlSearch = ""
	SqlOrd = "ORDER BY bib_id"
Else
	SqlSearch = " WHERE " & xField & " LIKE '%" & xValue & "%'"
	SqlOrd = " ORDER BY " & xField
End If 

SqlCmd = "SELECT * FROM qCat_Bib " & SqlSearch & SqlOrd


แต่ถ้าลองเปลี่ยนเป็น

Code (VBScript)
SqlCmd = "SELECT * FROM qCat_Bib WHERE title LIKE '%ไทย%'" 


กลับเรียกข้อมูลออกมาได้ ผมละงง

มีใครเคยเจอเคสแบบนี้ไหมครับ

รูปประกอบตอนที่ search คำว่า ภาษาไทย ครับ

datagrid



Tag : ASP, HTML/CSS, JavaScript, VBScript, Ajax, jQuery









ประวัติการแก้ไข
2014-08-07 10:15:05
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-07 10:13:57 By : Aod47 View : 1882 Reply : 8
 

 

No. 1



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


ลอง debug SqlCmd = "SELECT * FROM qCat_Bib " & SqlSearch & SqlOrd;

ว่าได้ข้อมูลตามต้องการหรือเปล่าครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 11:12:52 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมลองจับ error ด้วย event ของตัว DataGrid ครับ ได้ error ดังนี้ครับ

ถ้าค้นด้วยคำว่า 'ไทย'

Code
An Ajax error was thrown. XMLHttpRequest: [object Object] textStatus: parsererror errorThrown: SyntaxError: Unexpected token ก


ถ้าค้นด้วยคำว่า 'พร'

Code
An Ajax error was thrown. XMLHttpRequest: [object Object] textStatus: parsererror errorThrown: SyntaxError: Unexpected token เ


เหมือนกับว่า ตัวไฟล์ getData.asp ซึ่งผมเขียนให้มันแสดงผลเป็นรูปแบบ json เพื่อเอาไปใช้เป็น datasource ให้กับตัว DataGrid มันมีอักขระอะไรเกินมา ทำให้รูปแบบ json ไม่สมบูรณ์ครับ เลยแสดงผลไม่ได้

Code (VBScript)
    ' Display the page of results with json format
	json = json & "{"
	json = json & """" & "total" & """" & ":" & totalrec & ","
	json = json & """" & "rows" & """" & ":["
	
	Do While Not ( rs.Eof Or rs.AbsolutePage <> nPage )
		json = json & "{"
		For i = 0 To rs.Fields.Count - 1		 
			If i = rs.Fields.Count - 1 Then
				' last field
				json = json & """" & rs(i).Name & """" & ":" & """" & rs(i) & """"
			Else
				json = json & """" & rs(i).Name & """" & ":" & """" & rs(i) & """" & ","
			End If
		Next		
		json = json & "},"
		rs.MoveNext
	Loop
	
	json = json & "]}"
	
        json = replace(json,"},]}","}]}")


ซึ่งก็น่าแปลกมาก เพราะเป็นเฉพาะบางคำเท่านั้นครับ

ขอบคุณครับ


ประวัติการแก้ไข
2014-08-07 12:29:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 12:28:29 By : Aod47
 

 

No. 3



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


ถ้าคิดว่าเกิดจากการส่งค่า รับค่าไม่ตรงกัน ลองส่งไปเป็น base64 ดูครับ
ตัวรับค่อยแปลงกลับมา

ผมใช้วิธีนี้ในการส่งค่า ภาษาไทย ในรูปแบบ json_encode ครับ
ที่ต้องใช้เพราะบางครั้งก็หาสาเหตุค่าไม่ตรงกันไม่เจอเหมือนกันครับ แต่พอใช้ base64 ก็ไม่เจอปัญหาอีกเลย
อาจแก้ไขไม่ตรงจุด และเขียนโค๊ดยาวขึ้นอีกนิด แต่แก้ปัญหาการส่งค่าภาษาไทยได้ชัวร์ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 12:42:25 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


ตอน request เพื่อโหลดข้อมูล เวลาส่งค่าพารามิเตอร์ เช่น ไทย
ได้ใช้ encodeURIComponent() รึเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 12:55:37 By : watcharop
 


 

No. 5



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-07 12:42:25
รายละเอียดของการตอบ ::
คุณอา พอจะมีตัวอย่างหรือไม่ครับ ขอบคุณครับ



ประวัติการแก้ไข
2014-08-07 13:29:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 13:23:20 By : Aod47
 


 

No. 6



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : watcharop เมื่อวันที่ 2014-08-07 12:55:37
รายละเอียดของการตอบ ::
เหมือนมันเป็น funtion สำเร็จรูปมาครับ ผมไม่แน่ใจว่าต้องใส่ encodeURIComponent() ตรงไหนเพื่อทดลองครับ


Code (JavaScript)
function doQuickSearch(value,field){
	//alert('field: '+field+', value: '+value);			
	$('#bib_tbl').datagrid('load',{svalue: value,sfield: field});
}


ตัว dataGrid สามารถ request ได้ทั้ง post และ get ครับ แต่ลองทั้งสองแบบแล้ว เป็นเหมือนกันทั้งคู่ครับ

ขอบคุณครับ


ประวัติการแก้ไข
2014-08-07 13:26:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 13:25:50 By : Aod47
 


 

No. 7



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


http://www.freevbcode.com/ShowCode.asp?ID=5248 ลองดูตัวอย่างนี้ครับ

คือผมไม่ค่อยคล่องกับ ASP รู้แค่หลักการเขียน และไวยกรณ์ เท่านั้นครับ

แต่ถ้าเป็น PHP SQL Javascript HTML ยังพอมีลูกเล่นบ้างครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 13:48:54 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณมากครับ แก้ไขได้แล้วครับ

ผมเปลี่ยนไปใช้ library aspjson แปลงให้ครับ http://code.google.com/p/aspjson/

เนื่องจากตัว aspjson จะเข้ารหัสตัวอักษรให้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-07 14:13:30 By : Aod47
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : jQuery EasyUI DataGrid มีปัญหากับการ search คำว่า 'ไทย' กับ 'พร'
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่