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,036

HOME > .NET Framework > Forum > เขียน code วนลูปยังไงอะคับให้มันโชว์ข้อมูลที่ import ทั้งหมด



 

เขียน code วนลูปยังไงอะคับให้มันโชว์ข้อมูลที่ import ทั้งหมด

 



Topic : 051693



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



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




1


คือตอนนี้ import ได้แล้วคับ แต่ว่าข้อมูลที่ import มันโชว์ไม่หมดคือมาแค่แถวเดียวเหมือนในรูปอะคับไม่ทราบว่าจะวนลูปได้ยังไงอะคับ
พอดีไม่เก่งเรื่องวนลูปคับ

Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim ofd As New OpenFileDialog()

        ofd.Filter = "All file(*.txt,*.scv)|*.txt;*.csv|Text files(*.txt)|*.txt|CSV (*.csv)|*.csv"
        Dim _path As String = ""
        Dim _filenname As String = ""
        Dim dt As New DataTable
        Dim dr As DataRow

        dt.Columns.Add("1")
        dt.Columns.Add("2")
        dt.Columns.Add("3")
        dt.Columns.Add("4")
        dt.Columns.Add("5")
        dt.Columns.Add("6")
        dt.Columns.Add("7")
        dt.Columns.Add("8")
        dt.Columns.Add("9")
        dt.Columns.Add("10")
        dt.Columns.Add("11")
        dt.Columns.Add("12")
        dt.Columns.Add("13")
        dt.Columns.Add("14")
        dt.Columns.Add("15")
        dt.Columns.Add("16")
        dt.Columns.Add("17")
        dt.Columns.Add("18")
        dt.Columns.Add("19")


        If ofd.ShowDialog() = DialogResult.OK Then

            _path = Path.GetDirectoryName(ofd.FileName)

            _filenname = Path.GetFileName(ofd.FileName)

            Label1.Text = ofd.FileName
            Dim conString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + _path + ";Extended Properties=""Text;HDR=no;FMT=Delimited"""
            Dim strwer As New StreamReader(ofd.FileName)

            Dim strLine As String = strwer.ReadLine()

            If Trim(strLine) <> "" Then
                dr = dt.NewRow

                dr("1") = Split(strLine, "|")(0)
                dr("2") = Split(strLine, "|")(1)
                dr("3") = Split(strLine, "|")(2)
                dr("4") = Split(strLine, "|")(3)
                dr("5") = Split(strLine, "|")(4)
                dr("6") = Split(strLine, "|")(5)
                dr("7") = Split(strLine, "|")(6)
                dr("8") = Split(strLine, "|")(7)
                dr("9") = Split(strLine, "|")(8)
                dr("10") = Split(strLine, "|")(10)
                dr("11") = Split(strLine, "|")(11)
                dr("12") = Split(strLine, "|")(13)
                dr("13") = Split(strLine, "|")(16)
                dr("14") = Split(strLine, "|")(17)
                dr("15") = Split(strLine, "|")(24)
                dr("16") = Split(strLine, "|")(25)
                dr("17") = Split(strLine, "|")(26)
                dr("18") = Split(strLine, "|")(27)
                dr("19") = Split(strLine, "|")(28)

                dt.Rows.Add(dr)

                DataGridView1.DataSource = dt
            End If

        End If


    End Sub




Tag : .NET, Win (Windows App)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-15 13:57:47 By : xsodearna View : 1547 Reply : 9
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ตกลงจะใช้ ADO หรือว่าใช้การอ่านจาก Text File ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 14:56:10 By : webmaster
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Code (VB.NET)
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%@ Page Language="VB" %>
<script runat="server">

    Sub Page_Load(sender As Object, e As EventArgs)
		Dim dt As DataTable
	
		'*** Csv to DataTable ***'
		dt = CsvCreateDataTable()

		'*** BindData to Repeater ***'
		myRepeater.DataSource = dt
		myRepeater.DataBind()
    End Sub

	
	'*** DataTable ***'
	Function CsvCreateDataTable() As DataTable
        Dim objConn As New OleDbConnection
		Dim dtAdapter As OleDbDataAdapter 
		Dim dt As New DataTable
       
       
		Dim strConnString As String
		strConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("csv/") & _
		";Extended Properties='TEXT;HDR=Yes;FMT=Delimited;Format=Delimited(,)'"

		objConn = New OleDbConnection(strConnString)
		objConn.Open()

		Dim strSQL As String		
		strSQL = "SELECT * FROM customer.csv"
		
		dtAdapter = New OleDbDataAdapter(strSQL, objConn)
		dtAdapter.Fill(dt)

		dtAdapter = Nothing

		objConn.Close()
		objConn = Nothing

		Return dt '*** Return DataTable ***'

	End Function

</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - CSV</title>
</head>
<body>
	<form id="form1" runat="server">
    <asp:Repeater id="myRepeater" runat="server">
	<HeaderTemplate>
		<table border="1">
			<tr>
				<th>CustomerID</th>
				<th>Name</th>
				<th>Email</th>
				<th>CountryCode</th>
				<th>Budget</th>
				<th>Used</th>
			</tr>
	</HeaderTemplate>
	<ItemTemplate>
		<tr>
			<td align="center"><%#Container.DataItem(0) %></td> <!--or <Container.DataItem("CustomerID")  -->
			<td><%#Container.DataItem(1) %></td> <!--or <Container.DataItem("Name")  -->
			<td><%#Container.DataItem(2) %></td> <!--or <Container.DataItem("Email")  -->
			<td align="center"><%#Container.DataItem(3) %></td> <!--or <Container.DataItem("CountryCode")  -->
			<td align="right"><%#Container.DataItem(4) %></td> <!--or <Container.DataItem("Budget")  -->
			<td align="right"><%#Container.DataItem(5) %></td> <!--or <Container.DataItem("Used")  -->
		</tr>			
	</ItemTemplate>
	</asp:Repeater>
	</form>
</body>
</html>


Go to : ASP.NET CSV and ADO.NET - System.Data.OleDb
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 14:57:34 By : webmaster
 

 

No. 3



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



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


อ่านจาก text file คับ แต่ว่าถ้าเขียนแบบตัวอย่างมันเลือก text file แบบกำหนดชื่อตายตัวใช่ไหมคับ คือที่ต้องการคือ text file
จะต้อง ใช้ button เลือไฟล์ที่ต้องการ import อะคับ ผมกะไม่ค่อยเก่งหรืออาจเข้าใจไรผิดยังไงช่วยแนะนำหน่อยนะคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 15:05:05 By : xsodearna
 


 

No. 4



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



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


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim ofd As New OpenFileDialog()
ofd.Filter = "All file(*.txt,*.scv)|*.txt;*.csv|Text files(*.txt)|*.txt|CSV (*.csv)|*.csv"
Dim dt As New DataTable
Dim dr As DataRow
Label1.Text = ofd.FileName
dt.Columns.Add("1")
dt.Columns.Add("2")
dt.Columns.Add("3")
dt.Columns.Add("4")
dt.Columns.Add("5")
dt.Columns.Add("6")
dt.Columns.Add("7")
dt.Columns.Add("8")
dt.Columns.Add("9")
dt.Columns.Add("10")
dt.Columns.Add("11")
dt.Columns.Add("12")
dt.Columns.Add("13")
dt.Columns.Add("14")
dt.Columns.Add("15")
dt.Columns.Add("16")
dt.Columns.Add("17")
dt.Columns.Add("18")
dt.Columns.Add("19")
If ofd.ShowDialog() = DialogResult.OK Then
Dim strwer As New StreamReader(ofd.FileName)


Dim strLine As String = strwer.ReadLine()
If Trim(strLine) <> "" Then
dr = dt.NewRow
dr("1") = Split(strLine, "|")(0)
dr("2") = Split(strLine, "|")(1)
dr("3") = Split(strLine, "|")(2)
dr("4") = Split(strLine, "|")(3)
dr("5") = Split(strLine, "|")(4)
dr("6") = Split(strLine, "|")(5)
dr("7") = Split(strLine, "|")(6)
dr("8") = Split(strLine, "|")(7)
dr("9") = Split(strLine, "|")(8)
dr("10") = Split(strLine, "|")(10)
dr("11") = Split(strLine, "|")(11)
dr("12") = Split(strLine, "|")(13)
dr("13") = Split(strLine, "|")(16)
dr("14") = Split(strLine, "|")(17)
dr("15") = Split(strLine, "|")(24)
dr("16") = Split(strLine, "|")(25)
dr("17") = Split(strLine, "|")(26)
dr("18") = Split(strLine, "|")(27)
dr("19") = Split(strLine, "|")(28)
dt.Rows.Add(dr)
DataGridView1.DataSource = dt
End If

End If


End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 15:40:14 By : xsodearna
 


 

No. 5



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

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

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


ความคิดเห็นที่ 4 นี่ก็ได้คับ ง่ายๆ แต่ใช้ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 15:54:02 By : inanosms
 


 

No. 6



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



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


ความเห็นที่4ผมตอบเองคับ แต่มันโชว์แค่แถวเดียวไม่โชว์ทั้งหมดอะคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:00:25 By : xsodearna
 


 

No. 7



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



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


ลองใช้ คำสั่งนี้ดูครับ ไม่รู้จะช่วยได้ไหมน่ะครับ

Dim myReader As StreamReader
Dim CurrentLine As String

myReader = New StreamReader(GetFilename(), System.Text.UnicodeEncoding.Default)
While myReader.Peek <> -1
CurrentLine = myReader.ReadLine
end while

getfilename เป็นฟังก์ชั่นที่ผมเอาไว้ หาตำแหน่งไฟล์ คุณจะใส่ path ตรงๆ เลยก็ได้ครับ ชนิด string น่ะครับ *-*

currentline เป็นตัวแปรเอามารับค่าที่อ่านได้ ทีล่ะบรรทัด

myReader.Peek <> -1 เช็คว่าอ่านหมดรึยัง


ประวัติการแก้ไข
2010-11-15 16:13:36
2010-11-15 16:14:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:12:28 By : รามาตูม
 


 

No. 8



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



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


ยังไม่ได้เลยคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 17:20:39 By : xsodearna
 


 

No. 9



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



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


หากข้อมูลเป็น TextFile การเรียกด้วย StreamReader เป็นวิธีที่ดีที่สุด
เมื่อได้ข้อมูลมาแล้ว ต้องดูโครงสร้างของข้อมูลนั้น ๆ แบ่ง Cell และ Row อย่างไร
หากแบ่งเป็นบรรทัด สามารถ ReadLine() ในการเรียกข้อมูลทีละบรรทัด และ
ใช้ Peek ในการตรวจสอบว่าข้อมูลหมดหรือยัง จากนั้นใช้ Aray มาแบ่งข้่อมูลให้เป็นเซลล์อึกครั้ง

ต่อไปนี้เป็นโค๊ดที่ผมแนะนำ หากมีข้อผิดพลาดที่ใดก็ให้โพสไว้ จะกลับมาดูอีกครั้ง
ป.ล. โค๊ดนี้ไม่ได้ผ่านการทดสอบรัน อาจมีข้อผิดพลาดได้

Code (VB.NET)
        'วิธีสร้างตาราง 
        'การสร้าง Column ควรระบุประเภทของข้อมูลด้วย
        'หากสามารถนำ For...Next มาใช้ได้ ควรนำมาใช้ จะทำให้โค๊ดสั้นลง
        Dim dt As New DataTable
        Dim dr As DataRow
        For i As Integer = 1 To 19
            dt.Columns.Add(i,GetType(System.String)
        Next

        'เรียกข้อมูลด้วย StreamReader ตามที่ท่านใช้อยู่
        Dim strwer As New StreamReader("ofd.FileName")
        'สร้างตัวแปรไว้รับข้อมูล
        Dim strLine As String
        Dim arCell() As String

        'วนลูปเรียกข้อมูลออกจาก strwer
        While strwer.Peek > -1
            strLine = strwer.ReadLine()
            arCell = strLine.Split("|"c)
            dr = dt.NewRow
            For i As Integer = 0 To arCell.Length - 1
                dr(i) = arCell(i)
            Next
            dt.Rows.Add(dr)
        End While
        'สิ่งที่ต้องระวังคือ arCell มีจำนวนมากว่า Column ของตาราง จะ Error


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 19:41:03 By : base3000
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เขียน code วนลูปยังไงอะคับให้มันโชว์ข้อมูลที่ import ทั้งหมด
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่