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 > ขอความช่วยเหลือฉุกเฉินครับ C# windows form application คลิกชีที่ row datagridview แล้วไม่โชว์ค่าที่ฟอร์ม



 

ขอความช่วยเหลือฉุกเฉินครับ C# windows form application คลิกชีที่ row datagridview แล้วไม่โชว์ค่าที่ฟอร์ม

 



Topic : 083604



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



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




ตัวอย่างปัญหาครับ

งานนี้คือ โปรแกรมรับข้อมูล
- datagridview
- combobox
- textbox 2 text
- radiobox 3 box
ไม่มีการเรียกใช้ database ใดๆทั้งสิ้น(อาจารย์สั่งว่าห้ามใช้ database ครับ)

ส่วนที่เป็นปัญหา
1.พอคลิกที่ row datagridview แล้วมันไม่ขึ้นตำแหน่งที่ผมใส่ข้อมูลในตอนแรก

ความต้องการ
1.ผมต้องการดังนี้ครับ คลิกที่ row ไหนๆ มันต้องขึ้นข้อมูลใน combobox textbox1 textbox2 และ radiobox
สมมุติว่า ผมคลิกที่ row 0 ใน
combobox ต้องแสดงคำว่า นาย
textbox1 แสดงคำว่า อารยะ มานพ
textbox2 อายุ 25
radiobox ให้จุดสีน้ำเงินอยู่ตรงตำแหน่ง ปริญญาตรี

ผมคลิกที่ row 1 ใน
combobox ต้องแสดงคำว่า นาง
textbox1 แสดงคำว่า มณีรัตน์ ชูโต
textbox2 อายุ 26
radiobox ให้จุดสีน้ำเงินอยู่ตรงตำแหน่ง มัธยมศึกษา

คือ ไม่ได้มีแค่ดังตัวอย่างในภาพครับ มันยังมีอีกเยอะครับที่เห็นในภาพผมแค่ยกตัวอย่าง

ช่วยผมด้วยนะครับ ขอบคุณครับ



Tag : C#









ประวัติการแก้ไข
2012-09-07 12:53:11
2012-09-07 20:02:19
2012-09-08 00:46:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-07 12:52:11 By : poompm231 View : 3097 Reply : 15
 

 

No. 1



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



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


ได้โปรดช่วยผมด้วยนะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-07 20:42:25 By : poompm231
 


 

No. 2



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



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


ฉุกเฉินมากครับได้โปรดช่วงเหลือผมด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-07 22:54:56 By : poompm231
 

 

No. 3



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



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


ได้โปรดช่วยผมหน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 00:47:17 By : poompm231
 


 

No. 4



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

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

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

ลองเขียนดูก่อนครับ หรือไม่เอา Code ที่มีปัญหามาถามครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 06:56:32 By : mr.win
 


 

No. 5



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



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


ปัญหา

ปัญหา

ปัญหา


ภาพนี้คือ ผมต้องการให้คลิกที่ row แล้วส่งข้อมูลไปยัง form ให้ตรงตามตำแหน่งที่เราได้บันทึกเอาไว้ครับ ตรงการศึกษาใน form ยังผิดอยู่ครับมันต้องให้ตรงกับที่บันทึกเอาไว้

ปัญหา

ปุ่ม row

การศึกษา

ตอนนี้ผมทำได้เกือบทั้งหมดแล้วครับ เหลือแต่ตรงคลิกที่ row datagridview แล้วส่งค่าไปยัง form คือ อยากให้คลิกที่ row แล้วส่งข้อมูลไปยัง form ให้ตรงตามตำแหน่งที่เราได้บันทึกเอาไว้ครับ (ภาพที่ 1-3 ผมคลิกที่ cell เท่านั้นนะครับ ซึ่งยังไม่ถูกต้องครับ) ผมยังมือใหม่ครับยังไม่รู้อะไรอีกมาก ได้โปรดให้ความช่วยเหลือผมด้วยนะครับ ขอบคุณครับ

source code ตามนี้ครับ

Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace tcombo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int i;
        private void button1_Click(object sender, EventArgs e)
        {


            string lvc = "";
            if (radioButton1.Checked == true)
            {
                lvc = radioButton1.Text;
            }
            else if (radioButton2.Checked == true)
            {
                lvc = radioButton2.Text;
            }
            else if (radioButton3.Checked == true)
            {
                lvc = radioButton3.Text;
            }

            if (textBox1.Text == "" || textBox2.Text == "" || comboBox1.Text == "" || lvc == "")
            {
                MessageBox.Show("คุณใส่ข้อมูลหรือเลือกข้อมูลไม่ครบถ้วน");
                return;
            }


            int c;
            if (int.TryParse(textBox1.Text, out c))
            {
                MessageBox.Show("กรูณาใส่ชื่อเป็นตัวอักษร", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox1.Clear();
                return;
            }

            int b;
            if (!int.TryParse(textBox2.Text, out b))
            {
                MessageBox.Show("กรูณาใส่อายุเป็นตัวเลข", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox2.Clear();
                return;
            }

            string lv = "";
            if (radioButton1.Checked == true)
            {
                lv = radioButton1.Text;
            }
            else if (radioButton2.Checked == true)
            {
                lv = radioButton2.Text;
            }
            else if (radioButton3.Checked == true)
            {
                lv = radioButton3.Text;
            }

            dataGridView1.Rows.Add(comboBox1.Text, textBox1.Text, textBox2.Text, lv);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("ท่านยังไม่ได้เลือกแถวที่ต้องการลบ");
                return;
            }
            foreach (DataGridViewRow row in dataGridView1.SelectedRows)
                if (!row.IsNewRow)
                {
                    dataGridView1.Rows.Remove(row);
                }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            dataGridView1.ReadOnly = true;
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            i = dataGridView1.SelectedCells[0].RowIndex;
            comboBox1.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();
            textBox1.Text = dataGridView1.Rows[i].Cells[1].Value.ToString();
            textBox2.Text = dataGridView1.Rows[i].Cells[2].Value.ToString();
            radioButton1.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            radioButton2.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            radioButton3.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
        }
    }
}



ประวัติการแก้ไข
2012-09-08 09:23:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 09:18:24 By : poompm231
 


 

No. 6



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



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


ช่วยผมด้วยนะครับ ผมมือใหม่จริงๆครับ พึ่งทำเรื่องนี้เป็นครั้งแรก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 10:20:43 By : poompm231
 


 

No. 7



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



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


ช่วยผมด้วยนะครับ ผมลองทุกวิธีแล้วนะครับก็ยังไม่ได้เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 14:03:59 By : poompm231
 


 

No. 8



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



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


Code (C#)
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            txtEditID.Text = dataGridView1.CurrentRow.Cells["Cus_ID"].Value.ToString();
            txtEditAddress.Text = dataGridView1.CurrentRow.Cells["Cus_Address"].Value.ToString();
            txtEditName.Text = dataGridView1.CurrentRow.Cells["Cus_Name"].Value.ToString();
            txtEditLastname.Text = dataGridView1.CurrentRow.Cells["Cus_Lastname"].Value.ToString();
            txtEditTel.Text = dataGridView1.CurrentRow.Cells["Cus_Tel"].Value.ToString();
            txtEditEmail.Text = dataGridView1.CurrentRow.Cells["Cus_Email"].Value.ToString();            
        }



ลองใฃ้โค้ดนี้ดู ผมตอบไปหลายกระทู้และนะ โค้ดนี้ ส่วน คอมโบอะ ลองเปลี่ยนดู ถ้าแบบนี้อาจจะไม่โชว์ (ผมเดา) ถ้าไม่โชว์ก็เปลี่ยนเป็นค่า default ของมันนะ เพราะผมใช้แล้วโชว์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 15:05:17 By : peteyothin
 


 

No. 9



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



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


ผมลองตามที่คุณ pete เปลี่ยนแล้วนะครับมันไม่ได้ครับ ขอบคุณ คุณ pete นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 15:53:35 By : poompm231
 


 

No. 10



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



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


ใคร่ขอความอนุเคราะห์ช่วยผมด้วยเถอะ ฉุกเฉินจริงๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 17:53:36 By : poompm231
 


 

No. 11



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



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


ลองใช้ เป็นแบบนี้ก็ได้ครับ


int row = e.RowIndex;


แล้วก็ตั้ง properties ของ datagridview ให้เป็น Mode SelectRow

ส่วนเรื่อง combobox น่ะ ต้องถามก่อนว่า คำนำหน้า fix index หรือเปล่า


ถ้า fix เราก็เขียนไปใน code โดยเช็คเงื่อนไขจาก column 0 แล้วก็เอาไปเทียบได้เลยแล้วตั้งเป็น


combo.selectedIndex = index;
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 21:34:23 By : mocking1
 


 

No. 12



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



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


อ๋อ ผมรู้ละทำไมไม่ได้ ผมลืมไปว่าคุณไม่ได้ติดต่อ ดาต้าเบส T-T โทษทีๆๆ แต่ถ้าใช้ ดาต้าเบส คุณเอาโค้ดผมไปน่ะจะออก แต่ชื่อคอลัมน์ ต้องเป็นชื่อในฐานข้อมูลจิงๆนะ ไม่ใช่ชื่อ Caption ของ girdview
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 00:53:55 By : peteyothin
 


 

No. 13



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



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


ตอนนี้ทำได้เกือบทุกอย่างแล้วครับเหลือแต่ radioButton มันไม่ตรงตำแหน่งเท่านั้นครับ

s1

s2

s3

กรอบสีแดง คือ ตำแหน่งที่ถูกต้อง
want
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 01:15:51 By : poompm231
 


 

No. 14



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



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


เหลือจุดสุดท้ายแล้วล่ะครับ ให้ radiobutton อยู่ให้ถูกตำแหน่งเท่านั้นครับ ช่วยผมด้วยนะครับ ขอบคุณครับ
นี้เป็น Source Code ล่าสุดครับ เหลือตรงที่ radiobutton ที่มันอย่างไม่ตรงตำแหน่งอย่างเดียวแล้วครับ

Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace tcombo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
     /*   int i; */
        private void button1_Click(object sender, EventArgs e)
        {


            string lvc = "";
            if (radioButton1.Checked == true)
            {
                lvc = radioButton1.Text;
            }
            else if (radioButton2.Checked == true)
            {
                lvc = radioButton2.Text;
            }
            else if (radioButton3.Checked == true)
            {
                lvc = radioButton3.Text;
            }

            if (textBox1.Text == "" || textBox2.Text == "" || comboBox1.Text == "" || lvc == "")
            {
                MessageBox.Show("คุณใส่ข้อมูลหรือเลือกข้อมูลไม่ครบถ้วน");
                return;
            }


            int c;
            if (int.TryParse(textBox1.Text, out c))
            {
                MessageBox.Show("กรูณาใส่ชื่อเป็นตัวอักษร", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox1.Clear();
                return;
            }

            int b;
            if (!int.TryParse(textBox2.Text, out b))
            {
                MessageBox.Show("กรูณาใส่อายุเป็นตัวเลข", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox2.Clear();
                return;
            }

            string lv = "";
            if (radioButton1.Checked == true)
            {
                lv = radioButton1.Text;
            }
            else if (radioButton2.Checked == true)
            {
                lv = radioButton2.Text;
            }
            else if (radioButton3.Checked == true)
            {
                lv = radioButton3.Text;
            }

            dataGridView1.Rows.Add(comboBox1.Text, textBox1.Text, textBox2.Text, lv);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("ท่านยังไม่ได้เลือกแถวที่ต้องการลบ");
                return;
            }
            foreach (DataGridViewRow row in dataGridView1.SelectedRows)
                if (!row.IsNewRow)
                {
                    dataGridView1.Rows.Remove(row);
                }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            dataGridView1.ReadOnly = true;
        }

   /*     private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            i = dataGridView1.SelectedCells[0].RowIndex;
            comboBox1.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();
            textBox1.Text = dataGridView1.Rows[i].Cells[1].Value.ToString();
            textBox2.Text = dataGridView1.Rows[i].Cells[2].Value.ToString();
            radioButton1.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            radioButton2.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            radioButton3.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            textBox1.Text = dataGridView1.CurrentRow.Cells["name"].Value.ToString();
            textBox2.Text = dataGridView1.CurrentRow.Cells["age"].Value.ToString();

        } */

        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            
              comboBox1.Text = dataGridView1.CurrentRow.Cells["Column1"].Value.ToString();
              textBox1.Text = dataGridView1.CurrentRow.Cells["Column2"].Value.ToString();
              textBox2.Text = dataGridView1.CurrentRow.Cells["Column3"].Value.ToString();
              string rbb = "";
              if (radioButton1.Checked == true)
              {
                  rbb = radioButton1.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
              }
              else if (radioButton2.Checked == true)
              {
                  radioButton2.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
              }
              else if (radioButton3.Checked == true)
              {
                  radioButton3.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
              }

            //radioButton1.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
            //radioButton2.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
            //radioButton3.Text = dataGridView1.CurrentRow.Cells["Column4"].Value.ToString();
        }
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 14:54:17 By : poompm231
 


 

No. 15



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



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

คุณต้องการคลิกที่ row datagridview แล้วให้แสดงค่าตาม row นั้นใช่ไหมครับ
ดังนี้ที่ datagridview1_cellenter ของคุณ ต้องระบุว่า

ผมเขียนเป็น vb นะครับ

Code (VB.NET)
dim a as string = datagridview1.rows(e.rowindex).cells(3).value.tostring   'cell ที่ 3 คือ column แสดงระดับการศึกษา เท่าที่ดูจากหน้าจอคุณนะถ้าไม่ถูกเปลี่ยนได้
'จากนั้นก็ check ค่าจาก text ที่ได้กับ ค่า text บน radiobutton
if radiobutton1.text = a then
radiobutton1.checked = true
radiobutton2.checked = false
radiobutton3.checked = false
else if radiobutton2.text = a then
radiobutton2.checked = true
radiobutton1.checked = false
radiobutton3.checked = false
else if radiobutton3.text = a then
radiobutton3.checked = true
radiobutton1.checked = false
radiobutton2.checked = false
end if


ลองดูนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-13 15:40:12 By : kittipongs
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอความช่วยเหลือฉุกเฉินครับ C# windows form application คลิกชีที่ row datagridview แล้วไม่โชว์ค่าที่ฟอร์ม
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่