حرکت بین رکوردهای یک جدول در سی شارپ
با عرض سلام خدمت دوستان
من یک گریدویو دارم و چند تا تکست باکس که اطلاعاتم را هم در گرید ویو و هم تکست باکس بایند کردم.
چجوری بین رکوردهای گریویو با یک باتن جلو و یک باتن عقب برم و چجوری آن چند تا تکست باکس هم که بایند کردم هم حرکت کنم.
در ضمن من سرچ کردم در رابطه با این موضوع کد های مربوط به vb را پیدا کردم نه سی شارپ.
اگه میشه خوب برام توضیح بدین که خوب یاد بگیرم.
با تشکر فراوان
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
باید کارنسی منیجر توصیف کنید و پوزیشن رو کم و زیاد کنید!
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
فرشید خان میشه بیشتر توضیح بدین و کدهاشو برام بنویسین.
ممنون میشم.
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
اگه از Binding کنترل استفاده کنی این متد ها رو داره و می تونی با فراخوانی مثلا متد MoveNext به رکورد بعدی بری و هیچ برنامه نویسی اضافی هم نمی خواد فقط کافی این تابع رو در رویداد کلیک دکمه فراخوانی کنی
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
مي توي از اين كد استفاده كني.
this.BindingContext[DataTable].Position++;
يا علي
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
من از این کدی که گفتین استفاده کردم هیچ تغییری نمیکنه یعنی کد درسته ولی عمل نمیکنه یعنی روی دکمه که کلیک می کنم روی رکورد بعدی نمیره.
کدی که استفاده میکنم :
یه کانکشن ساختم
SqlDataAdapter da = new SqlDataAdapter("", con);
da.SelectCommand.CommandText = "Select * from FilmGroup ";
DataSet ds = new DataSet();
da.Fill(ds, "t1");
this.BindingContext[ds.Tables["t1"]].Position += 1;
لطفا راهنماییم کنین تا این مشکل رفع بشه
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
کسی نیست جواب سوال مرا بدونه؟
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
بچه ها من از دستور بالایی که نوشتم رفتم کار نداد.
کسی راه دیگه ای نمیدونه؟:متفکر:
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
یعنی کسی نیست جواب این سوال را بدونه؟
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
یک bindingsource بساز بعد datasource گرید و تکست باکست رو به این لینک کن
بعد توی دکمه این کد رو بنویس
bindingSource1.MoveNext();
برای برگشت به عقب هم کد داره
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
کار نمیده
راه دیگه ای نیست؟
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
عجب سوال سختیه
هرکی جواب داد جایزه داره:تشویق::تشویق:
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
بچه ها من یک قطعه کد با کمی توضیح نیاز دارم.
من که از لینک های بالا چیزی سر در نیاوردم.
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
من از Currency Manager استفاده می کنم ولی یه مشکل هست.
این کد را در یک باتن نوشتم :
SqlConnection con ;
SqlDataAdapter da = new SqlDataAdapter("", con);
da.SelectCommand.CommandText = "Select * from FilmGroup";
DataSet ds = new DataSet();
da.Fill(ds, "t1");
CurrencyManager cur;
cur = (CurrencyManager)(BindingContext[ds.Tables["t1"]]);
textBox2.Text = cur.Count.ToString();
وقتی روی باتن کلیک می کنم تعداد رکورد ها را بهم میده ولی وقتی که به جای خط آخر این کد را می زنم که به رکورد بعدی بره کار نمی کنه و دستور مرا اجرا نمی کنه
cur.Position += 1;
کسی می دونه مشکل چیه و من چه کدی را جا انداختم تا به وسیله این کد به رکورد بعدی برم؟
ممنون
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
یعنی این سوال انقدر مشکله که کسی نمیتونه جواب بده؟
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
یکی به من بگه این دستورات صحیحن یا غلط
اگه غلطن چرا؟
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
نقل قول:
نوشته شده توسط
bahram1100
یکی به من بگه این دستورات صحیحن یا غلط
اگه غلطن چرا؟
اوه سال 90...فک کنم راه حل رو پیدا کرده باشی اما اینو برا اونایی مینویسم که این مشکل براشون پیش میاد
برای اینکه بتونید با یک باتن یا یک دکمه از کیبرد بر روی مقادیر دیتاگریدویو حرکت کنید
ابتدا باید یک کارانسی منیجر در ابتدای محل کدنویسی یعنی در بالای سازنده کلاس تعریف کنید
CurranceyManager cr;
کارانسی منیجر مدیریت کننده هست
برای این کار بایددقیقا زمانی که دیتاگریدویو مقداردهی میشه ،کارانسی منیجر رو بهش وصل کنید.به این صورت
cr=(currancyManager)this.BindingContext[ds,"t1"];
ds=نام دیتا بیس مورد نظر
"t1"=نام جدول موجود و مقداردهی شده در دیتابیس
به این معنی که cr جدول تی یک از دیتابیس دی اس را مدیریت کند..وظیفه ی cr رو به عنوان یک مدیریت کننده تایین میکنیم.
کارانسی منیجر cr یک خصوصیت داره و اونهم position هست.
سپس در رویداد CellClick دیتاگرید ویو باید مقدار سلکت شده رو به عنوان موقعیت فعلی به Cr بدین:
cr.position=e.RowIndex;
یه تابع به این صورت مینویسم
( public void set(int i..
{
(if(i <0 || i>=cr.count
return;
cr.position=i;
datagrid.currentcell=datagrid.rows[i].cells[datadrid.currentcell.columnsindex];
}
در آخر همین تابع رو در رویدا keyup دیتاگرید ویو صدا بزنید به این شکل
;(set(datadrid.currentcell.rowindex
-------------------------------------------------------------------------------------------------------------------------------------
احتمالا دیکته بعضی جاها ایراد داره:لبخند::افسرده:
نقل قول: حرکت بین رکوردهای یک جدول در سی شارپ
سلام
خب اینکه شما اطلاعات را به کنترل های روی فرم بایند کردید بخش زیادی از کار رو انجام داده اید. خب حالا قبل از اینکه اطلاعات را به این کنترل ها بایند کنید ابتدا یک شیء از نوع BindingSource ایجاد کنید (حتما در این سایت و یا سایت های دیگر در موردش جستجو کنید و کار کردن باهاش بسیار سادست) و داده های خودتون رو به این شیء BindingSource بایند کنید و بعد این شیء BindingSource روبه گرید و یا هر کنترل دیگه ای باید کنید. حالا درکمه های حرکت به ردیف قبل و بعد رو طبق نظر دوستان در توضیحات بالا و تنها با نوشتن یک خط کوتاه میتونید دستورات MoveNext, MovePrevious, MoveLast, MoveFirst, Find, Filter و خیلی کارهای دیگه را به راحتی و تنها نوشتن چند کلمه انجام بدید.
کار با BindingSource سادست و در موردش سرچ کنید