PDA

View Full Version : سوال: رفرش کردن ComboBox بایند شده ...



shahramap
سه شنبه 22 مرداد 1392, 14:58 عصر
باسلام.یه کمبوباکس دارم که به جدولم بایندهستش ..برای رفرش شدن اطلاعات درون کمبوباکس حتما بایدبرنامه رو ببندم از اول اجرا کنم...
درضمن خواستم بدونم امکانش هست با این متد درست شه؟
ComboBox1.AutoCompleteSource

لطفاً کسی راهنمایی کنه.

parvizwpf
سه شنبه 22 مرداد 1392, 16:27 عصر
مشکلی نیست که بخواید برنامه رو دوباره اجرا کنید. شما کد بایند با تمام دستورات اس کیو الش رو بریزید توی یک متد دیگه سپس هر موقع خواستد اونرو صدا بزنید تا دوباره با اطلاعات جدید بایند بشه.

shahramap
سه شنبه 22 مرداد 1392, 23:09 عصر
من میخواهم براش رویداد dropddownlist تعریف کنم که هروقت منوی کشویی کمبوباکس رو انتخاب میکنم بایندش رفرش بشه.

shahramap
چهارشنبه 23 مرداد 1392, 00:43 صبح
توی فرم لود این کد رو قرار دادم که بایند شد حالا چون کمبوباکس به جدول بایند شده و اطلاعات جدولم با یه تکس باکس اضافه یا کم میشه درون فرمی دیگه بعد از بستن این فرم، فرمی که کمبوباکس داره نشون داده میشه(یعنی از اول لود نمیشه خودش هستش منتها برنامه من اینجوره وقتی یه فرم رو باز کردم فرم قبلیش قابل انتخاب نیست تا زمانی که فرم جاری بسته بشه) حالا بعد از اضافه کردن اطلاعات میخوام همزمان اطلاعات کمبوباکسم وقتی منوی کشوییش رو باز میکنم خاصیت بایندش رفرش بشه....امیدوارم منظورم رو فهمیده باشین دوستان چون دیگه از اینواضح تر نمیتونم توضیح بدم.باتشکر.

SqlConnection Cnn = new SqlConnection("Data Source=(local);Initial Catalog=hospital;Integrated Security=True");
SqlDataAdapter DA = new SqlDataAdapter();
DataSet DS = new DataSet();
DA.SelectCommand = new SqlCommand();
DA.SelectCommand.Connection = Cnn;
DA.SelectCommand.CommandText = "select ezafnam from ezafenam";
DA.Fill(DS, "ezafenam");
cbcenter.DisplayMember = "ezafnam";
cbcenter.ValueMember = "ezafnam";
cbcenter.DataSource = DS.Tables["ezafenam"].DefaultView;

rayson
چهارشنبه 23 مرداد 1392, 00:54 صبح
سلام.
شما این اطلاعات را به صورت تابع بنویسید و بعد از درج تابع را فراخوانی کنید.
حال اگر در صفحه دیگر کار درج را انجام میدهید:
در خاصیتclick دکمه ای که صفحه دیگر را باز میکنید تابع را دوباره بخوانید.
موفق باشید.

Mahmoud.Afrad
چهارشنبه 23 مرداد 1392, 01:31 صبح
همین کدی که نوشتی رو به صورت متد بنویسد و در لود فرم یا سازنده فراخوانیش کن.

اگر فرم دوم رو به صورت دیالوگ باز میکنی کافیه بعد از دستور نمایش فرم ، دوباره متد پر کردن کمبو رو فراخوانی کنی.
public FrmMain()
{
InitializeComponent();

FillComboBox();
}

private void button2_Click(object sender, EventArgs e)
{
FrmAdd frm = new FrmAdd();
frm.ShowDialog();
FillComboBox();
}

private void FillComboBox()
{
SqlConnection Cnn = new SqlConnection("Data Source=(local);Initial Catalog=hospital;Integrated Security=True");
SqlDataAdapter DA = new SqlDataAdapter();
DataSet DS = new DataSet();
DA.SelectCommand = new SqlCommand();
DA.SelectCommand.Connection = Cnn;
DA.SelectCommand.CommandText = "select ezafnam from ezafenam";
DA.Fill(DS, "ezafenam");
cbcenter.DisplayMember = "ezafnam";
cbcenter.ValueMember = "ezafnam";
cbcenter.DataSource = DS.Tables["ezafenam"].DefaultView;
}

shahramap
چهارشنبه 23 مرداد 1392, 03:28 صبح
آقای Mahmoud.Afrad واقعاً نمیدونم چطور ازتون تشکرکنم کارت خیلی درسته عزیز...درست شد.مرسی از راهنماییتون.