PDA

View Full Version : سوال: جستجو و حرکت بین رکوردهای جدول



boysfe5
یک شنبه 21 آبان 1391, 16:50 عصر
با جستجوی شماره دانشجو و بایند کردن اطلاعات وبرای حرکت بین رکوردهای جدول دانشجو دو تا button قراردادم << بعدی و >> قبلی میخوام وقتی که بر روی button کلیک کردم جلو و عقب برم
94763
private void Binding()
{
txtsname.DataBindings.Clear();
txtsfamily.DataBindings.Clear();
txtsid.DataBindings.Clear();
txtsfather.DataBindings.Clear();
mashkedbirths.DataBindings.Clear();
txtsrshte.DataBindings.Clear();
label9.DataBindings.Clear();

txtsname.DataBindings.Add("Text",dv,"sname");
txtsfamily.DataBindings.Add("Text",dv,"sfamily");
txtsid.DataBindings.Add("Text",dv,"sid");
txtsfather.DataBindings.Add("Text",dv,"sfather");
mashkedbirths.DataBindings.Add("Text",dv,"sbirths");
txtsrshte.DataBindings.Add("Text",dv,"srshte");
label9.DataBindings.Add("Text",dv,"ssex");

}
private void button3_Click(object sender, EventArgs e)
{
da = new SqlDataAdapter("select * from student",con);
DataSet ds = new DataSet();
da.Fill(ds,"t1");
dv = new DataView(ds.Tables["t1"]);
cum=(CurrencyManager)BindingContext[dv];

int intfind;

dv.Sort = "scode";
intfind = dv.Find(int.Parse(txtscode.Text));

if (intfind == -1)
{
MessageBox.Show("موجود نیست");
}

if (intfind != -1)
{
Binding();
cum.Position = intfind;

}

}

برای حرکت به جلو من از این دستور استفاده کردم ولی فقط یه رکورد به جلو و عقب میره
private void button4_Click(object sender, EventArgs e)
{

SqlDataAdapter daa = new SqlDataAdapter("select * from student", con);
DataSet dss = new DataSet();
daa.Fill(dss, "t1");
dv = new DataView(dss.Tables["t1"]);
cum = (CurrencyManager)BindingContext[dv];
cum.Position++;
}

لطفا راهنمایی کنید

matin.soft
یک شنبه 21 آبان 1391, 17:10 عصر
دوست عزیز راحتترین روش استفاده از کنترل binding navigator هست که تمامی این امکاناترو به شما می ده. اگرم خواستید از کد زیر استفاده نمایید
برای رکورد بعدی : databindingsource.MoveNext();
برای رکورد قبلی : databindingsource.MoveLast();

boysfe5
یک شنبه 21 آبان 1391, 17:22 عصر
میشه راهنمایی کنید که چطور از این دستور به جای کدهای بالا استفاده کنم.

ali_habibi1384
یک شنبه 21 آبان 1391, 18:07 عصر
بجاي بايند كردن دستي اطلاعات رو از ديتا تيبل بخونيد و توي تكست باكسها قرار بديد!!!!

boysfe5
یک شنبه 21 آبان 1391, 18:50 عصر
وقتی که شماره دانشجو را وارد کردم اطلاعات برای تکس باکس ها بایند میشه و میخوام بعد از بایند با کلیک بر روی "بعدی" و "قبلی" اطلاعات را در تکس باکس ها نمایش بده دوستمون گفت از databindingsource.MoveNext(); استفاده کن موندم که چطور از این دستور استفاده کنم میشه کدهاشو برام بزارید.

aliramazani
شنبه 05 مرداد 1392, 17:42 عصر
من از این کد استفاده میکنم ولی فقط یکی به جلو میره.

var db = new LINQDataContext();
var q=(from item in db.users select item);

bindingSource1.DataSource = q;

bindingSource1.MoveNext();


tt1.DataBindings.Add("Text", bindingSource1, "username");

aliramazani
شنبه 05 مرداد 1392, 18:28 عصر
کسی جواب نمیده؟