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

HOME > .NET Framework > Forum > สวัสดีครับ ช่วยดู โค้ดนี้ให้หน่อยครับ ผมอยากเปลี่ยนชื่อ column header เปลี่ยนไม่ได้ WPF C#


 

[.NET] สวัสดีครับ ช่วยดู โค้ดนี้ให้หน่อยครับ ผมอยากเปลี่ยนชื่อ column header เปลี่ยนไม่ได้ WPF C#

 
Topic : 058401



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



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



ผมเปลี่ยนชื่อ column headerได้นะครับ ไส่ code นี้ไป แต่ปัญหามันเกิดตรง ผมคลิกที่ cell ของ datagrid แต่ cell ที่ผมคลิกไม่ แสดงข้อมูลบน textbox ครับ ช่วยแก้ให้หน่อยครับ หรือแนะนำก็ได้ครับ
Code (C#)
1.foreach (var cs in bt)
2.{
3.    dgBookTypeList.Columns[0].Header = "รหัสประเภทหนังสือ";
4.    dgBookTypeList.Columns[1].Header = "ชื่อประเภทหนังสือ";
5.}


ติดแค่เปลี่ยนชื่อ column header เท่านั้นเองครับ ก็เสร็จแล้ว ช่วยหน่อยนะแงบบบ

โค้ดทั้งหมด
Code (C#)
001.using System;
002.using System.Collections.Generic;
003.using System.Linq;
004.using System.Text;
005.using System.Windows;
006.using System.Windows.Controls;
007.using System.Windows.Data;
008.using System.Windows.Documents;
009.using System.Windows.Input;
010.using System.Windows.Media;
011.using System.Windows.Media.Imaging;
012.using System.Windows.Shapes;
013.using System.Transactions;
014.using System.Windows.Controls.Primitives;
015.using System.Reflection;
016.using System.Diagnostics;
017. 
018.namespace Drewsn32Book.BookType
019.{
020.    /// <summary>
021.    /// Interaction logic for WinBookType.xaml
022.    /// </summary>
023.    public partial class BookType : Window
024.    {
025.        DataBase.dbDrewsn32BookDataContext db = new DataBase.dbDrewsn32BookDataContext();
026.        string[] tempdata = new string[2];
027.        public BookType()
028.        {
029.            InitializeComponent();
030.            //ผูกเหตุการณ์
031.            this.Loaded += new RoutedEventHandler(BookType_Loaded);
032.            cmdAdd.Click += new RoutedEventHandler(cmdAdd_Click);
033.            cmdEdit.Click += new RoutedEventHandler(cmdEdit_Click);
034.            dgBookTypeList.MouseLeftButtonUp += new MouseButtonEventHandler(dgBookTypeList_MouseLeftButtonUp);
035.            cmdRefresh.Click += new RoutedEventHandler(cmdRefresh_Click);
036.            cmdClear.Click += new RoutedEventHandler(cmdClear_Click);
037.            this.Closed += new EventHandler(BookType_Closed);
038.        }
039.        void BookType_Loaded(object sender, RoutedEventArgs e)
040.        {
041.            var bt = from b in db.BookTypes
042.                     orderby b.BookTypeID
043.                     select new { b.BookTypeID, b.BookTypeName };
044.            if (bt.Count() > 0)
045.            {
046.                dgBookTypeList.ItemsSource = bt.ToList();
047. 
048.            }
049.            else
050.            {
051.                dgBookTypeList.ItemsSource = null;
052.            }
053.        }
054.        void dgBookTypeList_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
055.        {
056.            #region Algorithum Check Row
057.            DependencyObject dep = (DependencyObject)e.OriginalSource;
058.            while ((dep != null) && !(dep is DataGridCell) && !(dep is DataGridColumnHeader))
059.            {
060.                dep = VisualTreeHelper.GetParent(dep);
061.            }
062. 
063.            if (dep == null)
064.                return;
065.            if (dep is DataGridColumn)
066.            {
067.                dgBookTypeList.Columns[0] = null;
068.            }
069.            if (dep is DataGridCell)
070.            {
071.                // navigate further up the tree
072.                while ((dep != null) && !(dep is DataGridRow))
073.                {
074.                    dep = VisualTreeHelper.GetParent(dep);
075.                }
076.                if (dep == null)
077.                    return;
078.                try
079.                {
080.                    int count = 0;
081.                    string data = "";
082.                    foreach (var dataGridCellInfo in dgBookTypeList.SelectedCells)
083.                    {
084.                        PropertyInfo pi = dataGridCellInfo.Item.GetType().GetProperty(Convert.ToString(dataGridCellInfo.Column.Header));
085.                        var temp = Convert.ToString(pi.GetValue(dataGridCellInfo.Item,null));
086.                        data += temp ;
087.                        tempdata[count] = Convert.ToString(temp);
088.                        count += +1;
089.                    }
090.                    txtBookTypeID.Text = tempdata[0].ToString();
091.                    txtBookTypeName.Text = tempdata[1].ToString();
092.                    txtBookTypeID.IsReadOnly = true;
093.                    txtBookTypeName.Focus();
094.                    txtBookTypeName.SelectAll();
095.                    cmdAdd.IsEnabled = false;
096.                }
097.                catch (Exception)
098.                {
099.                    return;
100.                }
101.            }
102.            #endregion
103.        }
104.        void cmdAdd_Click(object sender, RoutedEventArgs e)
105.        {
106.            var result = CheckBookTypeData();
107.            if (result == true)
108.            {
109.                if (MessageBox.Show("คุณต้องการเพิ่มรายชื่อจังหวัดใหม่ ใช่หรือไม่?", "คำยืนยัน", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
110.                {
111.                    //สร้าง object b มาเพื่อเก็บค่าที่เรา พิมพ์ใน txt ไว้ก่อนเพื่อรอการทำ transaction
112.                    DataBase.BookType b = new DataBase.BookType();
113.                    b.BookTypeID = txtBookTypeID.Text.Trim();
114.                    b.BookTypeName = txtBookTypeName.Text.Trim();
115.                    try
116.                    {
117.                        // ใช้คำสั้่ง linq ดึงค่า booktype ใน db.booktypes
118.                        var bt = (from bb in db.BookTypes
119.                                  where bb.BookTypeID == txtBookTypeID.Text.Trim()
120.                                  select bb).SingleOrDefault();
121.                        if (bt != null)
122.                        {
123.                            MessageBox.Show("รหัสจังหวัดที่คุณป้อน ซ้ำกับรหัสเดิมที่มีอยู่", "ข้อผิดพลาด", MessageBoxButton.OK, MessageBoxImage.Exclamation);
124.                            txtBookTypeID.Focus();
125.                            txtBookTypeID.SelectAll();
126.                        }
127.                        else
128.                        {
129.                            using (TransactionScope ts = new TransactionScope())
130.                            {
131.                                db.BookTypes.InsertOnSubmit(b);// object b ส่งค่าเข้าไปใน BookType
132.                                db.SubmitChanges();
133.                                ts.Complete();
134.                            }
135.                            ClearAllData();
136.                            ShowBookTypesList();//เรียกข้อมูลใหม่ที่เรา add เข้าไป มาโชว์แทนข้อมูลเดิม จาก db.BookType
137.                            //FormatDgvProvinceList();
138.                            MessageBox.Show("เพิ่มรายชื่อจังหวัดใหม่ เรียบร้อยแล้ว", "ผลการทำงาน", MessageBoxButton.OK, MessageBoxImage.Information);
139.                        }
140.                    }
141.                    catch (Exception ex)
142.                    {
143.                        MessageBox.Show(ex.Message, "ข้อผิดพลาด");
144.                    }
145.                }
146.            }
147.            txtBookTypeID.Focus();
148.            txtBookTypeID.SelectAll();
149.        }
150.        void cmdEdit_Click(object sender, RoutedEventArgs e)
151.        {
152.            var result = CheckBookTypeData();
153.            if (result == true)
154.            {
155.                if (MessageBox.Show("คุณต้องการแก้ไขข้อมูลจังหวัดใหม่ ใช่หรือไม่?", "คำยืนยัน", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
156.                {
157.                    try
158.                    {
159.                        using (var ts = new TransactionScope())
160.                        {
161.                            // var ps type var จะเก็บ ชนิดของสิ่งที่เก็บไว้ เช่น var ใน ps เก็บ class drewsn32.database.booktype
162.                            //สร้างตัวแปร id วน loop ตำแหน่งแรกใน db.BookTypes จนกว่า booktypeid == txtbooktypeid แล้วเก็บไว้ใน ps
163.                            var ps = db.BookTypes.First(id => id.BookTypeID == txtBookTypeID.Text.Trim());
164.                            ps.BookTypeName = txtBookTypeName.Text.Trim();//นำค่าใน txtbooktypename ไปไส่ใน booktypename ที่เก็บค่าของ db.booktype อยู่
165.                            ps.BookTypeID = txtBookTypeID.Text.Trim();
166.                            db.SubmitChanges();
167.                            ts.Complete();
168.                        }
169.                        ClearAllData();
170.                        ShowBookTypesList();
171.                        MessageBox.Show("แก้ไขข้อมูลจังหวัดใหม่ เรียบร้อยแล้ว", "ผลการทำงาน", MessageBoxButton.OK, MessageBoxImage.Information);
172.                    }
173.                    catch (Exception ex)
174.                    {
175.                        MessageBox.Show(ex.Message, "ข้อผิดพลาด");
176.                    }
177.                }
178.            }
179.        }
180.        void cmdRefresh_Click(object sender, RoutedEventArgs e)
181.        {
182.            ShowBookTypesList();
183.            txtBookTypeID.IsReadOnly = false;
184.            txtBookTypeID.Focus();
185.            cmdAdd.IsEnabled = true;
186.        }
187.        void cmdClear_Click(object sender, RoutedEventArgs e)
188.        {
189.            ClearAllData();
190.            txtBookTypeID.Focus();
191.        }
192.        void BookType_Closed(object sender, EventArgs e)
193.        {
194.            db.Connection.Close();// ถ้าปิด form ให้ ปิดการติดต่อกับ db
195.        }
196.        private bool CheckBookTypeData()
197.        {
198.            bool returnValue = false;
199.            if ((txtBookTypeID.Text.Trim() == string.Empty) || (txtBookTypeName.Text.Trim() == string.Empty))
200.            {
201.                MessageBox.Show("กรุณาป้อนข้อมูลจังหวัดให้ครบ !!!", "ข้อผิดพลาด", MessageBoxButton.OK, MessageBoxImage.Information);
202.                txtBookTypeID.Focus();
203.                returnValue = false;
204.            }
205.            else
206.            {
207.                returnValue = true;
208.            }
209.            return returnValue;
210.        }
211.        // อัพเดทข้อมูล นำข้อมูลใหม่ ที่เราอัพเดทมาโชว์ใน datagrid
212.        private void ShowBookTypesList()
213.        {
214.            var ps = (from p in db.BookTypes
215.                      select new
216.                      {
217.                          p.BookTypeID,
218.                          p.BookTypeName
219.                      }).OrderBy(o => o.BookTypeID);
220. 
221.            if (ps.Count() > 0)
222.            {
223.                dgBookTypeList.ItemsSource = ps.ToList();
224.                cmdEdit.IsEnabled = true;
225.            }
226.            else
227.            {
228.                dgBookTypeList.ItemsSource = null;
229.                cmdEdit.IsEnabled = false;
230.            }
231.        }
232.        private void ClearAllData()
233.        {
234.            cmdAdd.IsEnabled = true;
235.            txtBookTypeID.Text = string.Empty;
236.            txtBookTypeID.IsReadOnly = false;
237.            txtBookTypeID.Focus();
238.            txtBookTypeName.Text = string.Empty;
239.        }
240.    }
241.}




Tag : .NET, C#, VS 2010 (.NET 4.x)



ประวัติการแก้ไข
2011-04-07 00:50:35
2011-04-07 00:51:45
2011-04-07 00:54:03
2011-04-07 00:59:39
2011-04-07 01:00:20
2011-04-07 01:00:51
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-04-07 00:48:34 By : Drewsn32 View : 1488 Reply : 1
 

 

No. 1



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



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


ทำได้แล้วฮ่า ฮ่า สะใจโว้ยๆ

Code (C#)
01.void MainWindow_Loaded(object sender, RoutedEventArgs e)
02.{
03.    var bt = from b in db.BookTypes
04.             orderby b.BookTypeID
05.             select new { b.BookTypeID, b.BookTypeName };
06.    if (bt.Count() > 0)
07.    {
08.        dgBookTypeList.ItemsSource = bt.ToList();
09.        dgBookTypeList.Columns[0].Header = "รหัสประเภทหนังสือ";
10.        dgBookTypeList.Columns[1].Header = "ชื่อประเภทหนังสือ";
11.    }
12.    else
13.    {
14.        dataGrid1.ItemsSource = null;
15.    }
16.}



Code (C#)
01.foreach (var dataGridCellInfo in dgBookTypeList.SelectedCells)
02.{
03.    /* pi = { BookTypeID: "Value", BookTypeName: "Value" } , row ที่ เมาส์ selectedCells จะได้ BookTypeID เป็นตำแหน่งที่ คลิกคลิกเมาส์*/
04.    PropertyInfo pi = dataGridCellInfo.Item.GetType().GetProperty(FindBoundProperty(dataGridCellInfo.Column).ToString());
05.    var temp = (pi.GetValue(dataGridCellInfo.Item, null));
06.    data += temp;
07.    tempdata[count] = Convert.ToString(temp);
08.    count += +1;
09.}



Code (C#)
1.private string FindBoundProperty(DataGridColumn col)
2.{
3.    DataGridBoundColumn boundColumn = col as DataGridBoundColumn;
4.    // find the property that this column is bound to
5.    Binding binding = boundColumn.Binding as Binding;
6.    string boundPropertyName = binding.Path.Path;
7.    return boundPropertyName;
8.}



ประวัติการแก้ไข
2011-04-08 01:42:21
2011-04-08 01:43:27
2011-04-08 01:44:19
2011-04-08 01:58:57
2011-04-08 01:59:25
2011-04-08 02:10:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-04-08 01:40:51 By : Drewsn32
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สวัสดีครับ ช่วยดู โค้ดนี้ให้หน่อยครับ ผมอยากเปลี่ยนชื่อ column header เปลี่ยนไม่ได้ WPF 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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