วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (2023)

วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (1)

ปลั๊กเสียบ 41คะแนนชื่อเสียง

2020-12-24T15:35:01.777+00:00

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

มูลนิธิการนำเสนอ Windows

มูลนิธิการนำเสนอ Windows

ส่วนหนึ่งของ .NET Framework ที่มีรูปแบบการเขียนโปรแกรมแบบรวมสำหรับการสร้างแอปพลิเคชันเดสก์ท็อปสายงานธุรกิจบน Windows

2,363 คำถาม

ค#

ค#

ภาษาการเขียนโปรแกรมเชิงวัตถุและประเภทที่ปลอดภัยซึ่งมีรากฐานมาจากภาษาตระกูล C และรวมถึงการสนับสนุนการเขียนโปรแกรมเชิงส่วนประกอบ

วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (2)

8,171 คำถาม

ลงชื่อเข้าใช้เพื่อติดตาม

0 ความคิดเห็นไม่มีความคิดเห็น

0{count} คะแนน

    ลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น

    4 คำตอบ

    จัดเรียงตาม:ใหม่ล่าสุด

    เป็นประโยชน์มากที่สุด ใหม่ล่าสุด เก่าที่สุด

    (Video) เรียนรู้วิธีสร้างแอปพลิเคชันใบสั่งซื้ออัตโนมัติใน Excel ในขณะที่ฉันสร้างมันขึ้นมาใหม่
    1. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (3)

      ปีเตอร์ เฟลสเชอร์ (อดีต MVP) 18,381คะแนนชื่อเสียง

      2020-12-25T20:50:27.997+00:00

      สวัสดี,
      หากคุณต้องการใช้ ADO.NET เพื่ออ่านข้อมูลจาก SQL Server คุณสามารถใช้คลาสนี้แทนรหัสอื่นของฉัน

      ชั้นเรียน:

      การใช้ System, การใช้ System.ComponentModel, การใช้ System.Data, การใช้ System.Data.SqlClient, การใช้ System.Runtime.CompilerServices, การใช้ System.Windows.Data, namespace WpfApp1{ class ViewModel : INotifyPropertyChanged { // ctor เพื่อโหลดข้อมูลสาธิตสาธารณะ ViewModel () { โมเดล mod = โมเดลใหม่ (); // ค้นหาข้อมูล (แสดงรายการใน ComboBox) cvsLookUp.Source = mod.GetLookUp(); // วัตถุข้อมูล (แถว DataGrid) cvsData.Source = mod.GetData(); cvsData.View.CurrentChanged += (ผู้ส่ง, e) => { SelectedObject = cvsData.View.CurrentItem; }; cvsData.View.MoveCurrentToPosition(-1); cvsData.View.MoveCurrentToFirst(); } // DataGrid ดู CollectionViewSource ส่วนตัว cvsData = ใหม่ CollectionViewSource (); ICollectionView ViewData สาธารณะ { รับ { คืน cvsData.View; } } // ComboBox ดู CollectionViewSource ส่วนตัว cvsLookUp = ใหม่ CollectionViewSource (); ICollectionView ViewLookUp สาธารณะ { รับ { ส่งคืน cvsLookUp.View; } } // สำหรับการแสดงรายละเอียดและแก้ไขวัตถุส่วนตัว _selectedObject = null; วัตถุสาธารณะ SelectedObject { รับ => this._selectedObject; ตั้งค่า { this._selectedObject = ค่า; OnPropertyChanged(); } } เหตุการณ์สาธารณะ PropertyChangedEventHandler PropertyChanged; โมฆะส่วนตัว OnPropertyChanged ([CallerMemberName] string propName = "") => PropertyChanged?.Invoke (นี่, PropertyChangedEventArgs ใหม่ (propName)); } โมเดลคลาสภายใน { DataTable GetLookUp ภายใน () { DataTable dt = DataTable ใหม่ (); ใช้ (SqlDataAdapter da = SqlDataAdapter ใหม่ ("เลือก * จาก [Table2]", WpfApp1.Properties.Settings.Default.cnSQL)) da.Fill (dt); กลับ dt; } DataTable ภายใน GetData () { DataTable dt = DataTable ใหม่ (); ใช้ (SqlDataAdapter da = SqlDataAdapter ใหม่ ("เลือก * จาก [Table1]", WpfApp1.Properties.Settings.Default.cnSQL)) da.Fill (dt); กลับ dt; } }}

      ในการสร้างตารางเซิร์ฟเวอร์ SQL และกรอกข้อมูลสาธิตคุณสามารถใช้วิธีการต่อไปนี้:

      โมฆะภายใน CraeteData () { โดยใช้ (SqlConnection cn = SqlConnection ใหม่ (WpfApp1.Properties.Settings.Default.cnSQL)) { cn.Open (); โดยใช้ (SqlCommand cmd = new SqlCommand { Connection = cn }) { // ลบตารางก่อนหน้าใน SQL Server 2016 และสูงกว่า cmd.CommandText = "วางตารางหากมี Table1; วางตารางหากมี Table2;"; cmd.ExecuteNonQuery(); // Create Table cmd.CommandText = "CREATE Table [Table1]([ID] int Identity, [Info] nvarchar(50), [FK] int, CONSTRAINT [PK_Table1] PRIMARY KEY ([ID]))"; cmd.ExecuteNonQuery(); cmd.CommandText = "สร้างตาราง [Table2]([ID] int Identity, [Text] nvarchar(50), CONSTRAINT [PK_Table2] คีย์หลัก ([ID]))"; cmd.ExecuteNonQuery(); // วัตถุข้อมูล (แถว DataGrid) สุ่ม rnd = ใหม่สุ่ม (); cmd.CommandText = "INSERT [Table1](ข้อมูล, FK) ค่า (@info, @fk);"; cmd.Parameters.Add("@info", SqlDbType.NVarChar, 50); cmd.Parameters.Add("@fk", SqlDbType.Int); สำหรับ (int i = 1; i < 50; i++) { cmd.Parameters["@info"].Value = $"Row {i}"; cmd.Parameters["@fk"].Value = rnd.Next(1, 10); cmd.ExecuteNonQuery(); } // ค้นหาข้อมูล (แสดงรายการใน ComboBox) cmd.CommandText = "INSERT [Table2](Text) VALUES (@text);"; cmd.Parameters.Clear(); cmd.Parameters.Add("@text", SqlDbType.NVarChar, 50); สำหรับ (int i = 1; i < 10; i++) { cmd.Parameters["@text"].Value = $"Lookup-Text {i}"; cmd.ExecuteNonQuery(); } } }}
      1. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (4)

        ปลั๊กเสียบ 41คะแนนชื่อเสียง

        2020-12-25T20:56:12.643+00:00

        ตกลง. ฉันจะทำงานนี้พรุ่งนี้เช้าเพื่อดูว่าจะนำไปสู่ที่ใด ขอบคุณ

      ลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น

    2. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (5)

      ปีเตอร์ เฟลสเชอร์ (อดีต MVP) 18,381คะแนนชื่อเสียง

      2020-12-25T08:32:07.647+00:00

      สวัสดี,
      ลองทำตามการสาธิต ด้านซ้ายของหน้าต่างคุณจะเห็น DataGrid พร้อมแถวสำหรับแต่ละวัตถุข้อมูล ที่ด้านขวา คุณจะเห็นแถวที่เลือก (วัตถุข้อมูล) สำหรับการแก้ไข

      XAML:

      (Video) Visual Studio Code C#: a Web Scraper Tutorial

      <หน้าต่าง x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006 /xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local=" clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" ​​Width="800">                <กริด Grid.Column ="1" DataContext="{Binding SelectedObject}">                   Grid.Resources>          หน้าต่าง>

      และชั้นเรียน:

      ใช้ระบบ; ใช้ System.Collections.ObjectModel; ใช้ System.ComponentModel; ใช้ System.Runtime.CompilerServices; ใช้ System.Windows.Data; เนมสเปซ WpfApp1 { class ViewModel: INotifyPropertyChanged { // ctor เพื่อกรอกข้อมูลสาธิตสาธารณะ ViewModel () { Random rnd = new Random (); // ค้นหาข้อมูล (แสดงรายการใน ComboBox) ObservableCollection colLookUp = new ObservableCollection(); สำหรับ (int i = 1; i < 10; i++) colLookUp.Add (new LookUpData { ID = i, Text = $"Lookup-Text {i}" }); cvsLookUp.Source = colLookUp; // วัตถุข้อมูล (แถว DataGrid) ObservableCollection colData = ObservableCollection ใหม่(); สำหรับ (int i = 1; i < 50; i++) colData.Add (ข้อมูลใหม่ { ID = i, ข้อมูล = $"Row {i}", FK = rnd.Next(1,colLookUp.Count+1) }) ; cvsData.Source = colData; cvsData.View.CurrentChanged += (ผู้ส่ง, e) => { SelectedObject = cvsData.View.CurrentItem; }; cvsData.View.MoveCurrentToPosition(-1); cvsData.View.MoveCurrentToFirst(); } // DataGrid ดู CollectionViewSource ส่วนตัว cvsData = ใหม่ CollectionViewSource (); ICollectionView ViewData สาธารณะ { รับ { คืน cvsData.View; } } // ComboBox ดู CollectionViewSource ส่วนตัว cvsLookUp = ใหม่ CollectionViewSource (); ICollectionView ViewLookUp สาธารณะ { รับ { ส่งคืน cvsLookUp.View; } } // สำหรับการแสดงรายละเอียดและแก้ไขวัตถุส่วนตัว _selectedObject = null; วัตถุสาธารณะ SelectedObject { รับ => this._selectedObject; ตั้งค่า { this._selectedObject = ค่า; OnPropertyChanged(); } } เหตุการณ์สาธารณะ PropertyChangedEventHandler PropertyChanged; โมฆะส่วนตัว OnPropertyChanged ([CallerMemberName] string propName = "") => PropertyChanged?.Invoke (นี่, PropertyChangedEventArgs ใหม่ (propName)); } // DataGrid data คลาสสาธารณะ Data { public int ID { รับ; ชุด; } ข้อมูลสตริงสาธารณะ { รับ; ชุด; } สาธารณะ int FK { รับ; ชุด; } // ค่าคีย์ต่างประเทศ } // ข้อมูลรายการ ComboBox (ข้อมูลการค้นหา) คลาสสาธารณะ LookUpData { public int ID { รับ; ชุด; } // ข้อความสตริงสาธารณะค่าคีย์ { รับ; ชุด; } // ข้อความที่จะแสดงใน DataGrid (ComboBoxColumn) } }

      ผลลัพธ์:

      วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (6)

      1. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (7)

        ปลั๊กเสียบ 41คะแนนชื่อเสียง

        2020-12-25T11:56:24.307+00:00

        คุณช่วยอธิบายรหัสนี้หน่อยได้ไหมและฉันต้องการรับข้อมูลจากฐานข้อมูลเซิร์ฟเวอร์ SQL ฉันจะไปเกี่ยวกับเรื่องนั้นได้อย่างไร?

      ลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น

    3. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (8)

      เดซี่เทียน-1203 11,511คะแนนชื่อเสียง

      2020-12-25T02:36:18.487+00:00

      ฉันจะให้ตัวอย่างกับ MVVM เพื่อใช้สิ่งที่คุณต้องการ

      ส่วนที่ 1:รหัสสำหรับ MainWindow.xaml

                                 

      ตอนที่ 2:รหัสสำหรับ MainWindow.xaml.cs

      enum สาธารณะ SexOpt { ชาย, หญิง }; PersonModel ระดับสาธารณะ: NotifyObject { ชื่อสตริงส่วนตัว; ชื่อสตริงสาธารณะ { รับ { ชื่อกลับ; } ตั้ง { ชื่อ = ค่า; OnPropertyChange("ชื่อ"); } } อายุ int ส่วนตัว; อายุ int สาธารณะ { รับ { คืนอายุ; } ชุด { อายุ = ค่า; OnPropertyChange("อายุ"); } } เพศส่วนตัว SexOpt; SexOpt Sex สาธารณะ { รับ { คืนเพศ; } ชุด { เพศ = ค่า; OnPropertyChange("เพศ"); } } } คลาส PersonViewModel: NotifyObject { ผู้ใช้ส่วนตัว PersonModel; ผู้ใช้ PersonModel สาธารณะ { รับ { ผู้ใช้ที่ส่งคืน; } ตั้งค่า { ผู้ใช้ = ค่า; OnPropertyChange("ผู้ใช้"); } } ส่วนตัว ObservableCollection ltPersons = ObservableCollection ใหม่(); ObservableCollection สาธารณะ  LtPersons { รับ { คืน ltPersons; } ตั้งค่า { this.ltPersons = ค่า; OnPropertyChange("บุคคล LtPersons"); } } สาธารณะ PersonViewModel() { LtPersons = ใหม่ ObservableCollection() { ใหม่ PersonModel { ชื่อ = "จอห์น", อายุ = 11, เพศ = SexOpt.Male}, ใหม่ PersonModel { ชื่อ = "จูลี่", อายุ = 12, เพศ = SexOpt.Female} บุคคลใหม่ { ชื่อ = "รั้ง", อายุ = 13 , เพศ = SexOpt.Male} }; } } ระดับสาธารณะ NotifyObject: INotifyPropertyChanged { เหตุการณ์สาธารณะ PropertyChangedEventHandler PropertyChanged; โมฆะที่ได้รับการป้องกัน OnPropertyChange (string propertyName) { ถ้า (PropertyChanged != null) { PropertyChanged (นี่ใหม่ PropertyChangedEventArgs (ชื่อคุณสมบัติ)); } } }

      รูปภาพสำหรับผลลัพธ์:
      วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (9)

      หากคำตอบเป็นประโยชน์ โปรดคลิก "ยอมรับคำตอบ" และโหวตให้
      หมายเหตุ: โปรดทำตามขั้นตอนในของเราเอกสารเพื่อเปิดใช้งานการแจ้งเตือนทางอีเมล หากคุณต้องการรับการแจ้งเตือนทางอีเมลที่เกี่ยวข้องสำหรับเธรดนี้

      1. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (10)

        ปลั๊กเสียบ 41คะแนนชื่อเสียง

        (Video) Flutter : GetX fetch data from Api using network call | GetX Api example | getx flutter

        2020-12-25T12:06:31.437+00:00

        ฉันจะใช้สิ่งนี้กับฐานข้อมูลเซิร์ฟเวอร์ SQL เพื่อรับข้อมูลจากฐานข้อมูลโดยเฉพาะเมื่อใช้ SqlDataReader และใช้โค้ดที่อยู่ด้านหลังหน้าแทน MVVM ได้อย่างไร

      2. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (11)

        คาเรน เพย์น MVP 31,001คะแนนชื่อเสียง

        2020-12-25T13:24:01.417+00:00

        คุณเคยพิจารณาใช้ Entity Framework เพื่ออ่านข้อมูลจากฐานข้อมูลของคุณหรือไม่? สนใจดูบทความ TechNet ต่อไปนี้. ภาพหน้าจอโดยใช้ Entity Frameworkนี่คือที่ที่มีการตั้งค่าข้อมูล. สิ่งนี้สามารถปรับให้เข้ากับการใช้ตัวอ่านข้อมูลและหากเป็น .NET Core คุณต้องเพิ่มไฟล์ .NET Coreแพ็คเกจ SqlClient NuGet.

        วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (12)

      3. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (13)

        ปลั๊กเสียบ 41คะแนนชื่อเสียง

        2020-12-25T15:19:10.747+00:00

        ฉันไม่ใช่แฟนตัวยงของเอนทิตีเฟรมเวิร์ก ฉันชอบดูว่าโค้ดของฉันทำในสิ่งที่ฉันขอให้ทำอย่างไร ฉันชอบเขียนรหัสการเข้าถึงข้อมูลในแบบของฉัน ในลักษณะที่เรียบง่าย ดังนั้นฉันจึงเข้าใจว่าควรเกิดอะไรขึ้นในกรณีที่มีข้อยกเว้น ดังนั้นฉันขอเป็น ADO บริสุทธิ์ได้ไหม สุทธิ?

      4. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (14)

        คาเรน เพย์น MVP 31,001คะแนนชื่อเสียง

        2020-12-25T17:36:10.01+00:00

        ฉันไม่ใช่แฟนตัวยงของเอนทิตีเฟรมเวิร์ก ฉันชอบดูว่าโค้ดของฉันทำในสิ่งที่ฉันขอให้ทำอย่างไร ฉันชอบเขียนรหัสการเข้าถึงข้อมูลในแบบของฉัน ในลักษณะที่เรียบง่าย ดังนั้นฉันจึงเข้าใจว่าควรเกิดอะไรขึ้นในกรณีที่มีข้อยกเว้น ดังนั้นฉันขอเป็น ADO บริสุทธิ์ได้ไหม สุทธิ?

        ฉันสามารถให้สิ่งนั้นได้อย่างแน่นอน แต่ต้องเป็นอย่างหลัง เพราะฉันต้องออกไปทำธุระในวันนี้ หมายเหตุด้านข้างเกี่ยวกับสิ่งที่ฉันทำในบทความ โค้ด Entity Framework เสร็จสิ้นด้วยเครื่องมือพร้อมกับการใช้งาน INotifyPropertyChanged เสร็จสิ้นด้วย Add-in ของ Visual Studio ดังนั้นจึงมีโค้ดจริงให้เขียนน้อยมาก แต่ฉันเข้าใจว่าบางคน ไม่ใช่แฟนของ Entity Framework ในกรณีของฉัน ฉันชอบ Entity Framework เพราะฉันพบว่ามันง่ายกว่าการใช้ ADO.NET และใช้ ADO.NET สำหรับคำถามในฟอรัมเท่านั้น

      5. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (15)

        ปลั๊กเสียบ 41คะแนนชื่อเสียง

        (Video) Flutter : GetX Save data using Storage Box | Added Subtitles | getx flutter | flutter coding

        2020-12-25T19:25:40.687+00:00

        ได้โปรดฉันยืนอยู่ข้าง ๆ ฉันยินดีที่จะได้รับจากคุณ ขอบคุณล่วงหน้า.

      6. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (16)

        คาเรน เพย์น MVP 31,001คะแนนชื่อเสียง

        2020-12-26T15:50:00.717+00:00

        สวัสดี@ดีปลั๊ก

        ดูการตอบกลับครั้งแรกของฉันซึ่งฉันได้เพิ่มการแก้ไขเพื่อใช้ DataReader ทิ้งรหัส Entity Framework ไว้ที่นั่น แต่แสดงความคิดเห็นดังนั้นจึงไม่ได้ใช้ Entity Framework

      ลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น

    4. วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (17)

      คาเรน เพย์น MVP 31,001คะแนนชื่อเสียง

      2020-12-24T15:49:15.827+00:00

      สวัสดี@ดีปลั๊ก

      โปรดทราบว่าสิ่งต่อไปนี้ไม่ใช่โซลูชันปลั๊กอินของโค้ด แต่เป็นเส้นทางที่จะนำคุณไปสู่สิ่งที่คุณต้องการแทน

      ฝากติดตามกันด้วยนะครับตัวอย่างโค้ด Microsoft. จากนั้นสำหรับการเริ่มต้นดูต่อไปนี้บทความของเทคเน็ตและรหัสซึ่งไม่มี ComboBox หรือ DataGrid แต่เป็น ListBox แทน อย่าวางสายบน ListBox

      ภาพหน้าจอด้านล่างใช้สำหรับบทความ TechNet ละเว้น VB.NET เนื่องจากโค้ดจริงมีหนึ่งโครงการสำหรับ C# และอีกโครงการหนึ่งสำหรับ VB.NET
      วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (18)

      DataGrid

      วิธีเติมกล่องข้อความโดยใช้การนำทาง datagrid - Microsoft QA (19)

      MainWindow แหล่งแก้ไข

      ป้องกันแทนที่ async เป็นโมฆะ OnContentRendered (EventArgs e) { base.OnContentRendered (e); ถ้า (_hasShown) { กลับ; } _hasShown = จริง; var EmployeeCollection = ใหม่ ObservableCollection<พนักงาน>(); //await Task.Run(async () => //{ // excellentCollection = new ObservableCollection(await _context.Employees.ToListAsync()); //}); รอ Task.Delay(1); EmployeeCollection = ObservableCollection ใหม่ <พนักงาน> (EmployeesOperations.List ()); EmployeeGrid.ItemsSource = คอลเลกชันพนักงาน; EmployeeCollection.CollectionChanged += EmployeeCollection_CollectionChanged; DataContext = คอลเลกชันพนักงาน; /* * ค้นหาพนักงานตามนามสกุล หากพบ * เลือกและเลื่อนเข้าไปดูใน DataGrid */ var Employee = (employeeCollection) .FirstOrDefault(emp => emp.LastName == "Russell"); ถ้า (พนักงาน == null) กลับ; EmployeeGrid.SelectedItem = พนักงาน; EmployeeGrid.ScrollIntoView (พนักงาน); SaveButton.IsEnabled = จริง; }

      เครื่องอ่านข้อมูล

      เพิ่มโค้ดแล้ว ใช้ด้านบน หมายเหตุคลาสส่วนขยาย DbExtensions ควรอยู่ในไฟล์ของตัวเอง

      ใช้ระบบ; ใช้ System.Collections.Generic; ใช้ System.Data; ใช้ System.Globalization; ใช้ System.Linq; ใช้ System.Text; ใช้ System.Threading.Tasks; ใช้ Microsoft.Data.SqlClient; ใช้ WpfApp1.Models; เนมสเปซ WpfApp1.Classes { คลาสสาธารณะ EmployeesOperations { สาธารณะ สตริงคงที่ ConnectionString = "แหล่งข้อมูล =.\\SQLEXPRESS; ฐานข้อมูล = ทรัพยากรมนุษย์; ความปลอดภัยแบบรวม = True"; รายการคงที่สาธารณะ <พนักงาน> รายการ () { รายการ var = รายการใหม่ <พนักงาน> () ; var selectStatement = @" เลือกรหัสพนักงาน, ชื่อแรก, ชื่อนามสกุล, อีเมล, หมายเลขโทรศัพท์, วันที่จ้าง, รหัสงาน, เงินเดือน, รหัสผู้จัดการ, รหัสแผนกจาก dbo.employees; "; ใช้ (var cn = new SqlConnection () { ConnectionString = ConnectionString }) { ใช้ (var cmd = new SqlCommand () { Connection = cn, CommandText = selectStatement}) { cn.Open (); โปรแกรมอ่าน var = cmd.ExecuteReader(); ในขณะที่ (reader.Read()) { พนักงาน var = พนักงานใหม่ () { EmployeeId = reader.GetInt32(0), FirstName = reader.GetString(1), LastName = reader.GetString(2), Email = reader.GetString( 3), PhoneNumber = reader.SafeGetString(4), HireDate = reader.GetDateTime(5), JobId = reader.GetInt32(6), เงินเดือน = reader.GetDecimal(7), ManagerId = reader["manager_id"].DbCast< int>(), DepartmentId = reader.GetInt32(9), Manager = พนักงานใหม่ (), InverseManager = new List() }; รายการเพิ่ม (พนักงาน); } } } รายการส่งคืน; } } DbExtensions ระดับคงที่สาธารณะ { สาธารณะคงที่ T? DbCast(วัตถุนี้ dbValue) โดยที่ T : struct { สวิตช์ (dbValue) { กรณี null: กรณี DBNull _: ส่งคืน null; } ที? ค่า = dbValue เป็น T?; ถ้า (ค่า != null) { ส่งคืนค่า; } ถ้า (dbValue คือ IConvertible conv) { ค่า = (T)conv.ToType(typeof(T), CultureInfo.InvariantCulture); } ค่าส่งกลับ; } สตริงสาธารณะแบบคงที่ SafeGetString (เครื่องอ่าน SqlDataReader นี้, int colIndex) { ถ้า (!reader.IsDBNull(colIndex)) { กลับ reader.GetString(colIndex); } กลับ string.Empty; } } }

      0 ความคิดเห็นไม่มีความคิดเห็น

        ลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น

      ลงชื่อเข้าใช้เพื่อตอบ

      กิจกรรม

      ลงชื่อเข้าใช้เพื่อติดตามคำถามและผู้ใช้

      (Video) Autocomplete textbox using jquery and asp net web service

      Videos

      1. Part 5 How to handle model changes in entity framework
      (kudvenkat)
      2. Flutter Mobx Reactive State Management Tutorial | Added Subtitles | flutter coding
      (amplifyabhi coding)
      3. การเพิ่มข้อมูลผู้ใช้งานเข้าสู่ระบบ ด้วย vc# 2019 [ตอนที่15-1] | สุพจน์ สอนฟรี สอนดี ใช้จริง D2U2020
      (D2U2020 สุพจน์ สอนฟรี สอนดี ใช้จริง)
      4. PowerPoint 2016 - Chart Tutorial - How to Create Make & Edit Charts in MS Microsoft Power Point 365
      (Professor Adam Morgan)
      5. Access 2016 - Tables & Design View - Add and Delete Fields in MS Database - Import Table from Excel
      (Professor Adam Morgan)
      6. Excel 2016 - Pie Charts and Backgrounds - How to Update, Move, and Create a Pie Chart in MS Office
      (Professor Adam Morgan)

      References

      Top Articles
      Latest Posts
      Article information

      Author: Lakeisha Bayer VM

      Last Updated: 10/05/2023

      Views: 5403

      Rating: 4.9 / 5 (49 voted)

      Reviews: 88% of readers found this page helpful

      Author information

      Name: Lakeisha Bayer VM

      Birthday: 1997-10-17

      Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

      Phone: +3571527672278

      Job: Manufacturing Agent

      Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

      Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.