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

HOME > .NET Framework > Forum > อยากให้ DataGridView กรอกได้เฉพาะแต่ตัวเลข ผมใส่ Code ใน Keypress แล้วแต่ว่าไม่ได้ !



 

อยากให้ DataGridView กรอกได้เฉพาะแต่ตัวเลข ผมใส่ Code ใน Keypress แล้วแต่ว่าไม่ได้ !

 



Topic : 062006

Guest




Code (C#)
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
            {
                e.Handled = true;
            }   
        }


ไม่รู้ว่าจะทำไงดี ช่วยทีครับ ขอบคุณครับ !!



Tag : .NET, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-06-21 15:56:04 By : เงา View : 3349 Reply : 8
 

 

No. 1



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

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

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

ลอง Debug ดูครับ ว่ามัน return char.IsDigit(e.KeyChar) เป็นอะไร และพอใช้ if แล้วมีการ return true/false






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-22 16:27:05 By : webmaster
 


 

No. 2



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

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

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

Code (C#)
            dgv1.EditingControlShowing 
            += new 
            DataGridViewEditingControlShowingEventHandler
            ( dgv1_EditingControlShowing );

        void dgv1_EditingControlShowing ( object sender , DataGridViewEditingControlShowingEventArgs e )
        {
            if ( e.Control != null )
            {
                e.Control.KeyPress -= new KeyPressEventHandler( Control_KeyPress );
                e.Control.KeyPress += new KeyPressEventHandler( Control_KeyPress );
            }
        }

        void Control_KeyPress ( object sender , KeyPressEventArgs e )
        {
            e.Handled = !( char.IsDigit( e.KeyChar ) || char.IsControl( e.KeyChar ) );
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 13:43:49 By : Programmer Of Persia
 

 

No. 3

Guest


ขอบคุณมาก ๆ เลยครับ ทั้ง 2 ท่าน

มันล้ำลึก และ ซับซ้อน กว่าที่ผมคิดเยอะเลยนะเนี้ย !
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 15:35:38 By : เงา
 


 

No. 4

Guest


ขอบคุณครับ คุณ Programmer Of Persia

ผมทำได้แล้วครับ !

แต่ว่าปัญหาต่อมา คือ ผมจะบังคับให้กรอกเฉพาะตัวเลขแค่บาง Cells ผมต้องเขียนโค๊ตดักตรงไหน แล้วเขียนประมาณไหนครับ !

ลองหลายครั้งแล้วครับ แล้วก็จะลองต่อไปถ้าได้แล้วจะบอกนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 16:16:04 By : เงา
 


 

No. 5



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

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

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

Code (C#)
        void dgv1_EditingControlShowing 
        (   object sender , 
            DataGridViewEditingControlShowingEventArgs e )
        {
            if( e.Control == null || dgv1.SelectedCells.Count == 0 )return;
            e.Control.KeyPress 
                -= new KeyPressEventHandler( Control_KeyPress );
            switch( dgv1.SelectedCells[ 0 ].ColumnIndex )
            {
                //สมมุตให้ column ที่ 0 กับ 1 กรอกใด้เฉพาะตัวเลข
                case 0:case 1:
                    e.Control.KeyPress 
                        += new KeyPressEventHandler( Control_KeyPress );
                    break;
            }
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-23 18:21:09 By : Programmer Of Persia
 


 

No. 6

Guest


ว้าว ! ขอขอบคุณอีกรอบล่ะกันนะครับ !

ใช้ Switch, case ไม่เป็น 55+

เดี๋ยวผมลองแปลงเป็น if แทนละกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-24 11:33:29 By : เงา
 


 

No. 7

Guest


ขอบคุณครับมีประโยชน์มากจริงๆครับ ได้ทั้งแบบทุก Column และ บาง Column
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-06 08:45:13 By : นักสร้าง
 


 
ใน VB.Net ไม่มี e.Control.Keypress ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-27 17:39:51 By : ์Nat
 

   

ค้นหาข้อมูล


   
 

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