PDA

View Full Version : مشکل با DataGridView و ListView



VisualStudio
جمعه 05 مرداد 1386, 20:08 عصر
با سلام خدمت دوستان میخوام زمانی که روی یک ردیف کلیک می کنم مقدارهای اون ردیف تو چندتا TextBox نمایش داده بشه و اینکه زمانی که روی یک ردیف از ستونی کلیک میکنم و انتخاب میشه همان ردیف از ستون های دیگر را انتخاب کنه
و من دوتا مشکل با ListView داشتم
1. من در کل چطوری داده هار را از دیتابیس به ListView منتقل کنم مثلا مقدار فلان فیلد در فلان ستون از ListView ریخته بشه
2. مثلا داده هام را از دیتابیس به ListView منتقل کردم میخوام روی هر ردیف که کلیک می کنم مقدار های اون ردیف در چندین TextBox نمایش داده بشه با تشکر

asilverisis
شنبه 06 مرداد 1386, 23:16 عصر
سلام
1.در مورد نمایش مقادیر یک ردیف Datagrid و Listbox توی چند TextBox باید از خاصیت Databinding استفاده کنید.
2.در مورد انتخاب کامل یک سطر ، خاصیت SelectionMode مربوط به Datagrid را روی FullRowSelect تنظیم کنید.


3. برای نمایش داده ها از دیتابیس توی ListBox هم که خواص Datasource,DisplayMember,ValueMember رو مقدار دهی کنید، مثل Combobox .

موفق و موید.

VisualStudio
یک شنبه 07 مرداد 1386, 08:19 صبح
1.در مورد نمایش مقادیر یک ردیف Datagrid و Listbox توی چند TextBox باید از خاصیت Databinding استفاده کنید.

میشه این مورد را توضیح بدید یک قطعه کد کوچک بگزارید

VisualStudio
سه شنبه 09 مرداد 1386, 17:19 عصر
زمانی که روی یک ردیف کلیک می کنم مقدارهای اون ردیف تو چندتا TextBox نمایش داده بشه خواهشان این مشکل من را حل کنید

VisualStudio
چهارشنبه 10 مرداد 1386, 11:35 صبح
زمانی که روی یک ردیف کلیک می کنم مقدارهای اون ردیف تو چندتا TextBox نمایش داده بشه
من خیلی به این احتیاج دارم خواهشا کمک کنید

پویا
چهارشنبه 10 مرداد 1386, 13:21 عصر
سلام

خیلی سادست
توی قسمت properties قسمت (databinding) رو باز کن و قسمت text رو به همون فیلدی که می خوای وصل کن
بقیه اش با .NET

کسی جوابتو نداده چون احتمالا این موضوع بارها توی همین بخش توضیح داده شده ... قبل از پرسیدن جستجو کن

VisualStudio
چهارشنبه 10 مرداد 1386, 15:14 عصر
من از طریق کد نویسی این کار را می کنم من نمی خوام که داده های دیتابیس را نشان بدم من می خوام که زمانی که روی یک ردیف از دیتاگرید کلیک می کنم مقدار ستون1 در textbox1 ستون2 در Textbox2 و به همین ترتیب چه ربطی به بایند کردن فیلد داره

پویا
شنبه 13 مرداد 1386, 13:26 عصر
در رویداد bindingsource_positionchanged



textbox1.text = datagrid.item(col, row)

VisualStudio
یک شنبه 21 مرداد 1386, 23:03 عصر
1. من در کل چطوری داده هار را از دیتابیس به ListView منتقل کنم مثلا مقدار فلان فیلد در فلان ستون از ListView ریخته بشه
2. مثلا داده هام را از دیتابیس به ListView منتقل کردم میخوام روی هر ردیف که کلیک می کنم مقدار های اون ردیف در چندین TextBox نمایش داده بشه با تشکر

کسی پاسخ گویی مشکل بنده نیست لطفا

mohammad-hossein
دوشنبه 22 مرداد 1386, 15:59 عصر
ابتدا یک BindingNavigatorرو به فرمتون Add کنید(از طریق توولباکس قسمت Data)
حال یک BindingSource به نام bnsSourceرو به پروژتون ADD کنید.
خاصیت BindingSource رو در BindingNavigator به bnsSource یی که Add کردید بدید.
حال یک DataGirdView به نام grdData به پروژتون Add کنید.
باقی در کد برنامه بعد از تولید DataSet و اضافه کردن Table(یعنی Fill کردن با DataAdapter)
به صورت زیر است:(SahmiehOrgan اسم جدول DataSet مثال من هست که میخواهید در
DataGridView نمایش داده بشه)


Private Sub BindFields()

'Set BindingSource
bnsSource.DataSource = objDataSet
bnsSource.DataMember = "SahmieOrgan"
End Sub

Private Sub ShowGridView()
'Fill GridView
grdData.AutoGenerateColumns = True
grdData.DataSource = bnsSource
End Sub

این دو رویه را در روال Form_Load پروژه وبعد از ساختن Dataset به روش Ado.net به
ترتیب Call کنید.

امیدوارم بتونید ازش استفاده کنید.:لبخندساده:
حال اگر بخواهید یک هماهنگی کامل بین TextBoxها ودیگر کنترل های قابل Bind پروژتون داشته باشید
می تونید از رویه کامل BindFields مثالی من الگو برداری کنید:


Private Sub BindFields()
'Clear any previous bindings
txtSahmieCount.DataBindings.Clear()
txtRelate.DataBindings.Clear()
txtLetterDate.DataBindings.Clear()
txtLetterNo.DataBindings.Clear()
cmbOrgan.DataBindings.Clear()
cmbProvince.DataBindings.Clear()
'Set BindingSource
bnsSource.DataSource = objDataSet
bnsSource.DataMember = "SahmieOrgan"
'Add New Bindings
txtSahmieCount.DataBindings.Add("Text", bnsSource, "SahmiehCap")
txtRelate.DataBindings.Add("Text", bnsSource, "CorName")
txtLetterDate.DataBindings.Add("Text", bnsSource, "LetterDate")
txtLetterNo.DataBindings.Add("Text", bnsSource, "LetterNo")

cmbOrgan.DataBindings.Add("text", bnsSource, "organName")
cmbOrgan.DataBindings.Add("SelectedValue", bnsSource, "SOrganID")
cmbProvince.DataBindings.Add("text", bnsSource, "ProvinceName")
cmbProvince.DataBindings.Add("SelectedValue", bnsSource, "ProvinceID")
End Sub

VisualStudio
دوشنبه 22 مرداد 1386, 16:25 عصر
مشکل در این کد کجاست من می خوام اطلاعات یک ردیف در یک متغییر ذخیره بشه

__H2__
سه شنبه 23 مرداد 1386, 11:11 صبح
سلام

مشکل در این کد کجاست من می خوام اطلاعات یک ردیف در یک متغییر ذخیره بشه
خوب بدون شک مشکل دارد!
دقیقاً نمیدانم شما سطرها را خواستید اسکن کنید یا ستون ها را!!!

اگر قصد اسکن (رد کردن دانه دانه) سطرها بوده پس:
شما یا همه سطرها را میخواهید For Each کنید ( که این کافیست Me.ListView1.Items) یا فقط با سری خاص مثل سطر اول کار دارید و For Each در کار نیست (که مثلاً میشود Str = Me.ListView1.Items.Item(1).Text)

اگر قصد رد کردن فیلدهای (ستونهای) یک سطر خاص است پس باید از Me.ListView1.Items.Item(1).SubItems استفاده کنید که حاوی تمام فیلدهای سطر یک است

komail_sh
سه شنبه 23 مرداد 1386, 16:37 عصر
textbox1.text = datagrid.item(col, row).value