الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عندما اختار من قائمة Combobo تظهر البيانات الباقية فى DataGrid

مغلق
بدأه Has2 في 12 يونيو 2007 · 6 رد · 1,168 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد حاولت فى البحث وقرأت من البارحه الى اكثر من 30 صفحة ولم اجد الحل ؟!!!!!!

بالنسبة الى سؤالي فهو بكل اختصار

لدي comboBox واحدة وايضا DataGrid . . . اول ما تشتغل الفورم يكون ComboBox معبأ وهي اسماء المستأجرين في حال اني اختر احد اسماء المستأجرين من اداة ComboBox مباشرة تظهر بقية بيانات المستأجر فى اداة DataGrid .

بالنسبة الى ComboBox شغال فى Run Time يعنى اول ما تعمل الفورم ولكن المشكله انني لما اقوم بأختيار اسم من اسماء المستأجرين فأن الـComboBox لا تعمل على تعبئة اداة DataGrid

اعتقد الفكرة واضحه ؟؟

بالنسبة الى الكود لتعبئة اداة ComboBox طبعا في Form_Load

Me.CmdTenant.Connection = con
		Me.CmdTenant.CommandText = "Select Name from Tenants"
		Me.DaTenant.SelectCommand = Me.CmdTenant
		Me.DsTenant.Clear()
		Me.DaTenant.Fill(Me.DsTenant, "Tenants")
		Me.CboTenantNameRecepit.DataSource = Me.DsTenant.Tables("Tenants")
		Me.CboTenantNameRecepit.DisplayMember = "Name"
		Me.CboTenantNameRecepit.ValueMember = "TenantID"

بالنسبة الى كود DataGrid . ..

 Private Sub CboTenantNameRecepit_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboTenantNameRecepit.SelectedIndexChanged
		'Load DataGrid of Tenants on Recepit Form
		Me.CmdTenant.Connection = con
		Me.CmdTenant.CommandText = "Select * from Tenants "
		Me.DaTenant.SelectCommand = Me.CmdTenant
		Me.DsTenant.Clear()
		Me.DaTenant.Fill(Me.DsTenant, "Tenants")
		Me.DGTenants.DataSource = Me.DsTenant.Tables("Tenants")

	End Sub

وشكرا لقراءة مشكلتي

#2

Up.....

اى فكرة اى محاولة يا جماعة

#3

اتصور بحاجة الى امرين

اولا : حتى يعمل Indexchanged يجب ان تختار combobox style = dropdownlist

حتى تتأكد من هذا الامر ضع breakpoint في هذا الاجراء حتى تتأكد من تنفيذه

ثانيا : لعرض بيانات المستأجر يجب ان تضع شرط كما يلي

 Me.CmdTenant.CommandText = "Select * from Tenants where key= "  &  CboTenantNameRecepit.selectedvalue.tostring()
#4

ابعث الملف حتى تتضح الفكرة وان شاء الله سأحلها لك

#5

slvistar

تفضل اخي الكريم .. الملف مرفق

TareqVB

حاولت ولكن الفورم لا تعمل تتعطل ... الملف مرفق ولكم التجربة أستاذي الكريم

DataGridAndCombobox.rar

#6

بعد النظر للمثال المرفق ، أرفق لكم الحل ، وهو عمل فلتر للبيانات المخزنة في الـ Dataset بواسطة الكائن DataView والذي نمرر له القيمة المخزنه في الـ CboTenantNameRecepit بواسطة الخاصية SelectedValue ، والان أترككم مع تفاصيل الكود ..

Imports System.Data.OleDb
Public Class Form1
	'....Variables for Tenants Tabel/  /  /  /  /  /
	Dim CmdTenant As New OleDbCommand
	Dim DaTenant As New OleDbDataAdapter
	Dim DsTenant As New DataSet
	Dim con As New OleDbConnection
	Dim str As String
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		'Select path for the Database
		str = "Provider=Microsoft.Jet.Oledb.4.0;"
		str += "Data source=" & Application.StartupPath & "\Realestate.mdb"
		con.ConnectionString = str

		'Fill Dataset of Tenants
		CmdTenant.Connection = con
		CmdTenant.CommandText = "Select * from Tenants"
		DaTenant.SelectCommand = CmdTenant
		DaTenant.Fill(DsTenant, "Tenants")
		'Load ComboBoxTenant on Recepit Form

		Me.CboTenantNameRecepit.DataSource = Me.DsTenant.Tables("Tenants")
		Me.CboTenantNameRecepit.DisplayMember = "Name"
		Me.CboTenantNameRecepit.ValueMember = "TenantID"
		Me.CboTenantNameRecepit_SelectedIndexChanged(Nothing, Nothing)
	End Sub

	Private Sub CboTenantNameRecepit_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboTenantNameRecepit.SelectedIndexChanged
		Dim DV As DataView = New DataView(DsTenant.Tables("Tenants"))
		DV.RowFilter = "TenantID = '" & Val(CboTenantNameRecepit.SelectedValue.ToString) & "'"
		If DV.Count <> 0 Then
			Me.DGTenants.DataSource = DV
		End If
	End Sub
End Class

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#7

السلام عليكم ورحمة الله وبركاته

اعتقد اخي Has2

ان الحل لمشكلتك وهي عمل فلترة من combobox والله اعلم

مثل ماتفضل به اخي ياسر

قمت باضافة متغيرين


Dim SQL As String
  Dim TAST As Boolean = False

36cm7.gif

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…