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

Registered : 108,987

HOME > .NET Framework > Forum > กด button event ให้อ่านค่าตามลำดับไม่ทราบต้องเขียนยังไงครับ ขอบคุณครับ asp.net C#



 

กด button event ให้อ่านค่าตามลำดับไม่ทราบต้องเขียนยังไงครับ ขอบคุณครับ asp.net C#

 



Topic : 136230



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



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




กด button event ให้อ่านค่าตามลำดับไม่ทราบต้องเขียนยังไงครับ ขอบคุณครับ asp.net C#

report event



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VS 2017 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-06-29 09:49:03 By : dRufFy View : 420 Reply : 17
 

 

No. 1



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



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


เช็ค rowind ว่าถูกต้องหรือไม่






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-29 11:38:18 By : TheGreatGod_of_Death
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-29 11:38:18
รายละเอียดของการตอบ ::
ขอตัวอย่างหน่อยครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-29 13:54:34 By : dRufFy
 

 

No. 3



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



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


ขอทราบที่มาที่ไปก่อนว่าจะทำอะไร เพราะยังงงๆ อยู่ และที่วงไว้สองที่ 1, 2 คืออะไร
จึงจะสามารถช่วยหาตัวอย่างให้ได้ เช่น "ให้อ่านค่าตามลำดับ" ตามลำดับอย่างไร ในอะไร บอกให้ชัดเจนด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 11:44:17 By : TheGreatGod_of_Death
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-30 11:44:17
รายละเอียดของการตอบ ::
กด button แล้วค่า id จาก Gridview จะไปแสดงที่ textbox status.text จากนั้น reports();จะอ่านค่า id จาก status.text เพื่อแสดงรายงาน
**ปัญหาตอนนี้ กด button แล้วมันไม่แสดง status.text ก่อนแต่มันข้ามไปอ่าน reposrts(); เลยทำให้ error ไม่สามารถหา id ได้**
ขอบคุณครับ


protected void Print_Click(object sender, EventArgs e)
{

{

int rowind = ((GridViewRow)(sender as Control).NamingContainer).RowIndex;
Button cb = (Button)GridView1.Rows[rowind].FindControl("Print");
status.Text = GridView1.Rows[rowind].Cells[0].Text; //รับ id มาจาก Gridview to textbox ลำดับที่ 1

reports();// มาจาก public void reports() ลำดับที่ 2



}
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 12:07:09 By : dRufFy
 


 

No. 5



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



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


error ว่าอะไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 12:10:48 By : TheGreatGod_of_Death
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-30 12:10:48
รายละเอียดของการตอบ ::
error report หา id ไม่เจอเพราะมันข้าม status.text มาหา reports(); ถ้าทดสอบแบบมี 2 button ไม่มี error ออกปกติ อยากให้คลิกแค่button เดียว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 14:08:25 By : dRufFy
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : dRufFy เมื่อวันที่ 2021-06-30 14:08:25
รายละเอียดของการตอบ ::
เอาข้อความ error มาวางด้วย อย่าแปล เพราะจะได้ช่วยนำไปค้นหา

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 14:26:29 By : TheGreatGod_of_Death
 


 

No. 8



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



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


ที่มันข้ามอาจเป็นเพราะการ cast control หรืออาจเป็นที่ขั้นตอนอื่น มันเป็นข้อมูลทางเทคนิค ถ้าไม่รู้ว่าแจ้งว่าอะไรก็ไม่สามารถแก้ปัญหาได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 14:27:48 By : TheGreatGod_of_Death
 


 
ไม่ได้ข้ามครับ มันทำงานตามลำดับอยู่แล้ว แต่เราเองกำลังงง แค่นั้นเอง
ลอง //reports();
แล้วดักเฉพาะ
status.Text = GridView1.Rows[rowind].Cells[0].Text;

แล้วเอามาแสดงข้อมูลให้ได้ก่อน
จากนั้นถ้าจะให้แสดง report ก็ควรใส่ if else เพื่อตรวจสอบว่า status.text มีค่าไหม

หรือไม่ก็สลับตำแหน่งสักหน่อย

int rowind = ((GridViewRow)(sender as Control).NamingContainer).RowIndex;
status.Text = GridView1.Rows[rowind].Cells[0].Text; //รับ id มาจาก Gridview to textbox ลำดับที่ 1
Button cb = (Button)GridView1.Rows[rowind].FindControl("Print");
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 14:33:01 By : บัญดิษฐ
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2021-06-30 14:33:01
รายละเอียดของการตอบ ::
ถูกต้องครับ ผมได้ทำการ //repost(); status.text แสดงข้อมูลได้ครับ if else ผมดักไม่ถูกครับ ปล.สลับแล้วก็ข้าม status มาเหมือนเดิมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:13:37 By : dRufFy
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : dRufFy เมื่อวันที่ 2021-06-30 15:13:37
รายละเอียดของการตอบ ::
จะดักถูกได้ยังไงในเมื่อไม่รู้สาเหตุ
status.text แสดงข้อมูล ...คืออะไร

// เช็คมาตั้งแต่ บรรทัดนี้เลย ค่าถูกต้องไหม (ฝึกใช้ debug tools)
int rowind = ((GridViewRow)(sender as Control).NamingContainer).RowIndex;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:18:17 By : TheGreatGod_of_Death
 


 

No. 12



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



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


สิ่งสำคัญที่สุดในการเขียนโปรแกรม คือ การอธิบายให้คนอื่นรู้เรื่อง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:19:44 By : TheGreatGod_of_Death
 


 

No. 13



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



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


การเขียนโปรแกรมไม่ใช่แค่เขียนโค้ด หรือ คัดลอกวาง มันมีลำดับขั้นตอนคิดเป็นแกนนำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:20:49 By : TheGreatGod_of_Death
 


 

No. 14



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



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


เช่น

จาก

int rowind = ((GridViewRow)(sender as Control).NamingContainer).RowIndex;

sender รับจากพารามิเตอร์ (ตอนคลิก) มาเป็น object แล้วถูก cast 2 ชั้น คือ object->control->GridViewRow แล้วค่อยดึง RowIndex
ไปเก็บใน rowind (debug ดูค่าตรงนี้ ใช่ที่ต้องการหรือไม่) แล้วค่อยเช็คบรรทัดใหม่

Code
Button cb = (Button)GridView1.Rows[rowind].FindControl("Print");


cast "Print" control เป็น button จากแถวที่อ้างอิงด้วย rowind (ตรงนี้ debug cb...ว่าใช่สิ่งต้องการไหม)

สุดท้าย
Code
status.Text = GridView1.Rows[rowind].Cells[0].Text;


ดึงข้อมูลจาก คอลัมน์แรก แถวที่ rowind+1 (0-based?) แล้วเก็บใน textbox status (ตรงนี้ถ้ามีข้อมูล แล้วข้อมูลถูกต้องหรือไม่)

ส่วนปัญหา report ทำงานแบบข้ามช็อต สันนิษฐานเบื้องต้นได้ว่า ขั้นตอนก่อนหน้านี้มี error และ ต้องดูข้อความ error เท่านั้นจึงจะรู้ว่ามันเกิดจากอะไร




นอกเหนือจากนี้ อาจเป็นเพราะ async process ต้องดูและศึกษาเรื่องนี้อย่างละเอียดอีกที ถ้าใช่

แล้วคุณคิดว่าปัญหาและสาเหตุที่แท้จริงจะตกอยู่ที่ขั้นตอนใด...ถ้าคุณเป็นคนอื่นอ่านคำถามลักษณะนี้ จะเข้าใจหรือไม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:35:50 By : TheGreatGod_of_Death
 


 

No. 15



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-30 15:18:17
รายละเอียดของการตอบ ::
ค่าถูกต้องทุกอย่างครับ status.text รับค่ามาจาก Gridview เป็น id ตัวเลขครับ ถ้าผมดักด้วยอีกปุ่มออกปกติครับ แค่อยากให้มีปุ่มเดียวกดปริ้นแล้ววออก report เลยครับ
protected void Print_Click(object sender, EventArgs e)
{

{

int rowind = ((GridViewRow)(sender as Control).NamingContainer).RowIndex;
Button cb = (Button)GridView1.Rows[rowind].FindControl("Print");
status.Text = GridView1.Rows[rowind].Cells[0].Text;


if (status.Text ==status.Text)

{
reports();
}


}
}

//report

public void reports()
{
SqlConnection objConn = new SqlConnection();
SqlCommand objCmd = new SqlCommand();
SqlDataAdapter dtAdapter = new SqlDataAdapter();

DataSet ds = new DataSet();
DataTable dt = null;
string strConnString = null;
string strSQL = null;

strConnString = "Server=120.100.100.200;UID=sa;PASSWORD=tum;database=rubber_plant;Max Pool Size=400;Connect Timeout=600;";
strSQL = "SELECT * FROM View_Orderplant WHERE Plantid = '" + this.status.Text + "' ";

objConn.ConnectionString = strConnString;
var _with1 = objCmd;
_with1.Connection = objConn;
_with1.CommandText = strSQL;
_with1.CommandType = CommandType.Text;
dtAdapter.SelectCommand = objCmd;

dtAdapter.Fill(ds, "DataTable1");
dt = ds.Tables[0];

dtAdapter = null;
objConn.Close();
objConn = null;

ReportDocument rpt = new ReportDocument();
rpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
rpt.Load(Server.MapPath("webpage/report/CrystalReport1.rpt"));
rpt.SetDataSource(dt);
this.CrystalReportViewer1.ReportSource = rpt;
}
}



ประวัติการแก้ไข
2021-06-30 15:42:23
2021-06-30 15:42:57
2021-06-30 15:44:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 15:41:20 By : dRufFy
 


 

No. 16



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



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


https://www.aspsnippets.com/Articles/Print-functionality-in-ASP.Net-GridView-control.aspx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-30 16:17:05 By : TheGreatGod_of_Death
 


 

No. 17



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



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


ได้แล้วนะครับ พึงกลับมาทำหลังจากติดงานอื่นอยู่ครับ


ReportDocument rpt = new ReportDocument();
rpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
rpt.Load(Server.MapPath("report/CrystalReport1.rpt"));
rpt.SetDataSource(dt);
this.CrystalReportViewer1.ReportSource = rpt;

เพิ่มส่วนนี้เข้าไปใ้ห export pdf แทนครับไม่ต้องให้แสดงหน้า Viewer
rpt.ExportToHttpResponse
(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "PersonDetails");


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-22 15:53:27 By : dRufFy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : กด button event ให้อ่านค่าตามลำดับไม่ทราบต้องเขียนยังไงครับ ขอบคุณครับ asp.net C#
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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, รับทำเว็บไซต์ รับเขียนโปรแกรม , pangpond.com , pangpond.co.th , สำนักงานบัญชี.com , รถมือสอง

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