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

Registered : 107,329

HOME > .NET Framework > Forum > ขอโค้ดดึงข้อมูลจาก listview ไปทำเป็น Crystal Report หน่อยครับ Please





 

ขอโค้ดดึงข้อมูลจาก listview ไปทำเป็น Crystal Report หน่อยครับ Please

 



Topic : 132799



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



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




หน้าเลือก

//กดดับเบิ้ลคลิกที่datagridviewdata แล้วส่งข้อมูลไปใน listview ตามแบบที่เราเลือกครับ
กดคลิก

Code (C#)
 private void dataGridView1_MouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            string nn, pp, tt, dd, ee, ff, gg, hh, ii, kk, bb, aa;
            nn = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            pp = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            tt = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
            dd = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
            ee = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
            ff = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
            gg = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();
            hh = dataGridView1.Rows[e.RowIndex].Cells[7].Value.ToString();
            ii = dataGridView1.Rows[e.RowIndex].Cells[8].Value.ToString();
            kk = dataGridView1.Rows[e.RowIndex].Cells[9].Value.ToString();
            bb = dataGridView1.Rows[e.RowIndex].Cells[10].Value.ToString();
            aa = dataGridView1.Rows[e.RowIndex].Cells[11].Value.ToString();
            add(nn, pp, tt, dd, ee, ff, gg, hh, ii, kk, bb, aa);
            calulatelistview();
        }

        private void add(String nn, String pp, String tt, String dd,
            String ee, String ff, String gg, String hh, String ii, String kk, String bb, String aa)
        {
            String[] row = { nn, pp, tt, dd, ee, ff, gg, hh, ii, kk, bb, aa };
            ListViewItem it = new ListViewItem(row);
            listView1.Items.Add(it);
        }

        private void calulatelistview()
        {
            decimal gtotal = 0;
            foreach (ListViewItem lstItem in listView1.Items)
            {
                gtotal += decimal.Parse(lstItem.SubItems[11].Text);
            }
            textBox2.Text = Convert.ToString(gtotal);          
        }

        private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            listView1.Items.Remove(listView1.SelectedItems[0]);
            calulatelistview();
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                button3.PerformClick();
            }
        }

        private void textBox3_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                button5.PerformClick();
            }
        }

        private void dateTimePicker2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                button4.PerformClick();
            }
        }

private void SeeMoneyUser_Load(object sender, EventArgs e)
        {
            listView1.Columns.Add("รหัส", 80, HorizontalAlignment.Center);
            listView1.Columns.Add("ชื่อ", 130, HorizontalAlignment.Center);
            listView1.Columns.Add("ตำแหน่ง", 120, HorizontalAlignment.Center);
            listView1.Columns.Add("วันที่ทำงาน", 150, HorizontalAlignment.Center);
            listView1.Columns.Add("ค่าแรง", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("ค่าล่วงเวลา1", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("ค่าล่วงเวลา2", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("รวมค่าแรง", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("เบิกจ่าย", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("ประกันสังคม", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("ค่าใช้จ่ายอื่นๆ", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("คงเหลือสุทธิ", 100, HorizontalAlignment.Center);
            listView1.View = View.Details;
            listView1.GridLines = true;
            listView1.FullRowSelect = true;     
        }

  private void button6_Click(object sender, EventArgs e)
        { ////ปุ่มกด print ครับ แต่ไม่รู้จะทำไงให้ข้อมูลใน listview ส่งค่าไปยัง crystalreport คับ
        }
}




Tag : .NET, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-12-19 16:43:52 By : ronagon1 View : 118 Reply : 2
 

 

No. 1

Guest


ลอง ศึกษาเรื่อง datatable ดู






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-19 19:06:41 By : 123
 


 

No. 2

Guest


^ ^
เหมือนอย่างท่าน 123

Crystal Report ไม่สามารถดึงข้อมูลจาก listview มาได้โดยตรง เพราะต้องอ้างถึงข้อมูลจาก DataSource จึงจะนำไปใช้ได้

Quote:
ListView ↛ Report


แต่ต้องเก็บพักข้อมูลไว้ที่ตารางชั่วคราวก่อนค่อยส่งต่อไปยัง DataSource เพื่อนำไปใช้ใน Report ต่อไป ซึ่งทำได้โดยสร้าง Datatable ขึ้นมาใหม่ใน Dataset แล้วจัดฟิลด์ให้ตรงตาม listview หรือฟอร์มที่ต้องการนำไปใช้ใน Report แล้วดึงค่าจาก listview มาเก็บไว้ใน Datatable ด้วยคอลัมน์ต่อฟิลด์หรือตามการจัดเรียงที่ต้องการ แล้วตั้ง Datatable ให้เป็น DataSource ของ Report

Quote:
ListView ⇨ DataTable(DataSet) ⇨ DataSource ⇨ Report


ตัวอย่างหลังจากสร้าง DataTable แล้ว (C#)
private void button1_Click(object sender, EventArgs e)
{
            DataSet1 ds = new DataSet1();
            DataTable listTable = ds.Tables.Add("listData");
            listTable.Columns.Add("id", Type.GetType("System.Int32"));
            listTable.Columns.Add("Item", Type.GetType("System.String"));
            // listTable.Columns.Add(...); ไล่ไปจนครบทุกคอลัมน์

            foreach (ListViewItem item in ListView1.Items)
            {
                     DataRow row = listTable.NewRow();
                     for(int i = 0; i < item.SubItems.Count; i++)
                     {
                            row = item.SubItems[i].Text;
                     }
                     listTable.Rows.Add(row);
            }

            CrystalReport1 objRpt = new CrystalReport1();
            objRpt.SetDataSource(ds.Tables[1]);
            crystalReportViewer1.ReportSource = objRpt;
            crystalReportViewer1.Refresh(); 
}



[i]กระทู้เก่า

https://www.thaicreate.com/dotnet/forum/127980.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-19 19:13:58 By : ขาจร
 

   

ค้นหาข้อมูล


   
 

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

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