PDA

View Full Version : تغییر اطلاعات باید شده در چند لیست باکس



Yanehsar
یک شنبه 27 فروردین 1391, 21:25 عصر
سلام من تو بایند کردن اطلاعات به لیست باکس مشکل ندارم اما چطوری میتونم با انتخاب هر ایتم مقدار متناظر اونو به یه تکس باکس دیگه بایند کنم؟مثلا من نام ونام خانوادگی نفرات بایند کردم تو لیست با انتخاب آن شماره ملی نفر به یه تکس باکس نسبت بده؟
تقریبا میدونم اما انجام نمیشه
وقتی ازSelectedItems استفاده میکنم این خطا رو میده

System.windows.froms.listbox+selectedobjectcollect ion

وقتی از SelectedItem استفاده میکنم خطایی Dataview میده چیکار باید بکنم؟

یه سوال دیگه هم دارم وقتی خاصیت مولتی سلکت لیست باکس را فعال کردم بخوام اد کنم به بانک اطلاعاتی چیکار باید بکنم؟

Yanehsar
دوشنبه 28 فروردین 1391, 21:17 عصر
سلام کسی راهنمائی نمیکنه منو؟؟؟؟؟؟؟؟؟؟؟؟
چطور میتونم با انتخاب ایتم از لیست باکس سایر مقادیر اون ایتمو از یانک اطلاعاتیم واکشی کنم و بریزم تو تکس باکس

Mahmoud Zaad
دوشنبه 28 فروردین 1391, 21:32 عصر
سلام
از دیتاریدر میشه استفاده کرد، اینجا (http://barnamenevis.org/showthread.php?336406-سوال-در-باره-ارتباط-بین-ListBox-و-DataGrid)رو نگاه کنید.

Yanehsar
دوشنبه 28 فروردین 1391, 22:11 عصر
سلام
از دیتاریدر میشه استفاده کرد، اینجا (http://barnamenevis.org/showthread.php?336406-سوال-در-باره-ارتباط-بین-ListBox-و-DataGrid)رو نگاه کنید.

با چه دستوری میتونه به بانکم بگم این ایتم انتخاب شده؟ف کنید من میخواهم هر ایتی انتخاب شد مسیج باکس نشون بده


string s;
s = listbox.SelectedItem.ToString();
MessageBox.Show(s);

اما این خطا رو میده چیکار باید بکنم؟؟؟؟؟
System.Data.Datarowview
مشکل کارم چیه:اشتباه:

Mahmoud Zaad
دوشنبه 28 فروردین 1391, 22:40 عصر
این کد رو توی رویداد SelectedIndexChanged لیست باکس یا دابل کلیک و ... بنویسید. اگه می تونید کدهاتونو کامل بذارید ببینیم مشکل کجاست.

Yanehsar
دوشنبه 28 فروردین 1391, 23:57 عصر
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace Diction
{
public partial class frmadd : Form
{
public frmadd()
{
InitializeComponent();
}

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "/dic.mdb");
DataSet ds = new DataSet();
DataView dv = new DataView();

private void frmadd_Load(object sender, EventArgs e)
{
System.Globalization.CultureInfo lanfarsi = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(lanfarsi);
try
{
OleDbDataAdapter da = new OleDbDataAdapter("select * from Dictionary", con);
da.Fill(ds, "Dictionary");
dv.Table = ds.Tables["Dictionary"];
listloghat.DataSource = dv;
listloghat.DisplayMember = "loghat";
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void txtloghat_TextChanged(object sender, EventArgs e)
{
try
{
dv.RowFilter = "loghat like '%" + txtloghat.Text + "%'";
listloghat.DataSource = dv;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}



private void btncancel_Click(object sender, EventArgs e)
{
this.Close();
}

private void btnaddgroup_Click(object sender, EventArgs e)
{
this.Close();
frmgroup groupadd = new frmgroup();
groupadd.ShowDialog();
}

private void listloghat_SelectedIndexChanged(object sender, EventArgs e)
{
string s;
s = listloghat.SelectedItem.ToString();
MessageBox.Show(s);
//or
//MessageBox.Show(listloghat.SelectedItem.ToString() ;);
}
}
}



یه برنامه دیکشنری هستش که تو فرم داخل لیست باکس 1 اطلاعات لغات موجود در بانک داخل لیست باکس 2 اطلاعات گروه ها داخل ریچ باکس با انتخاب هر ایتم از لیست باکس اولم معنی اون لغت میاد داخل ریچ باکسم حالا من این قسمت رو مشکل دارم که با انتخاب از لیست باکس کار انحام نمیشه من قبلا با کمبو باکس و تکس باکس این کار رو انجام دادم.یه select شرط دار هستش که مشکلی ندارم اما با لیست باکس مشکل برخورد کردم

Yanehsar
سه شنبه 29 فروردین 1391, 18:13 عصر
کسی نیست کمکم کنه؟؟؟؟؟چرا این خط کدها اجرا نمیشه ؟؟مشکلم کجاست؟؟؟؟:گریه::گریه:

Mahmoud Zaad
سه شنبه 29 فروردین 1391, 18:24 عصر
کسی نیست کمکم کنه؟؟؟؟؟چرا این خط کدها اجرا نمیشه ؟؟مشکلم کجاست؟؟؟؟:گریه::گریه:

دوست عزیز من جواب رو گفتم، شما از دیتاریدر استفاده کنید. کدها رو توی رویداد SelectedIndexChanged بنویسد. یه جستجوی ساده بر اساس مورد انتخاب شده هست.

Yanehsar
سه شنبه 29 فروردین 1391, 19:19 عصر
من همیشه از این روش استفاده میکنم و از دیتاریدر استفاده نکردم میشه یه نمونه کد بذارید برام؟


try {
OleDbDataAdapter da = new OleDbDataAdapter("select * from Dictionary", con);
da.Fill(ds, "Dictionary");
dv.Table = ds.Tables["Dictionary"];
listloghat.DataSource = dv;
listloghat.DisplayMember = "loghat";
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
این کدها چه تغییری باید بکنه؟؟؟
من برای جستجو از دیتاویو استفاده میکنم برای جستجو چیکار باید بکنم؟؟؟؟



dv.RowFilter = "loghat like '%" + txtloghat.Text + "%'"; listloghat.DataSource = dv;

Yanehsar
سه شنبه 29 فروردین 1391, 22:33 عصر
کسی نمیتونم کمکم کنه؟؟؟؟خیلی واجبه برام