PDA

View Full Version : مبتدی: اتصال bindingNavigator به datagridview



ozzy_mra
یک شنبه 12 دی 1389, 08:26 صبح
سلام
من می خوام یه UserControl بنویسم که شامل یه dataGrid و یه bindingNavigator باشه که با پاس دادن یه کانکشن و یه کوئری دیتاگرید رو پر کنه و همچنین bindingNavigator هم به دیتا گریدم متصل باشه کار با bindingNavigator رو بلد نیستم میشه راهنماییم کنید
واینکه آیا میشه با همین کنترل رکورد ها رو مثلا 10 تا 10 تا تو دیتا گرید نمایش بدم و با زدن دکمه next 10 تای دیگه نمایش داده بشه؟

mnparsian
یک شنبه 12 دی 1389, 12:09 عصر
برای اتصال bindingNavigator به datagrid باید در قسمت Propertis ، دیتا سورس را به دیتابیسی که قبلا برای دیتا گرید انتخاب گردید ارجاع بدید. بعد از اون می تونید با ابزار bindingNavigator روی رکوردهای تیبل حرکت کنید

ozzy_mra
یک شنبه 12 دی 1389, 12:28 عصر
برای اتصال bindingNavigator به datagrid باید در قسمت Propertis ، دیتا سورس را به دیتابیسی که قبلا برای دیتا گرید انتخاب گردید ارجاع بدید. بعد از اون می تونید با ابزار bindingNavigator روی رکوردهای تیبل حرکت کنید

BindingNavigator که دیتا سورس نداره،،،، دیتا بایندینگ داره یه تکه کد از بایند کردنشو دارید؟

mnparsian
یک شنبه 12 دی 1389, 12:32 عصر
البته من Visual Studio 2010 به صورت ویزاردی انجام دادم. اگر دقت کنید به غیر از دیتا باندینگ یه قسمت دیتا سورس هم داره.البته ممکنه با نام BindingSourse توی ورژن های دیگه باشه

ozzy_mra
یک شنبه 12 دی 1389, 13:35 عصر
البته من Visual Studio 2010 به صورت ویزاردی انجام دادم. اگر دقت کنید به غیر از دیتا باندینگ یه قسمت دیتا سورس هم داره.البته ممکنه با نام BindingSourse توی ورژن های دیگه باشه

دیتا ست رو به عنوان دیتا سورس قبول نمی کنه
دیتا گردیو با دیتا ست بایند کردم

ozzy_mra
یک شنبه 12 دی 1389, 14:25 عصر
من خودم از این روش استفاده کردم
یه دیتا گرید و یه بایندینگ نویگیتور روی فرمم گذاشتم و با این کد بایندشون می کنم :

public void Fill()
{
try
{
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
con.Open();
da.SelectCommand.Connection = con;
da.SelectCommand.CommandText = Query;
DataSet ds = new DataSet();
da.SelectCommand.ExecuteNonQuery();
da.Fill(ds,"TBL");
CDGV.DataSource = ds;
CDGV.DataMember = "TBL";
CDGV.AutoGenerateColumns = true;
con.Close();
//*************
_bindsrc.DataSource = ds;
_bindnav.BindingSource = _bindsrc;

}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
ولی خروجیم به شکل زیر میشه که navigator فقط عدد 1 رو نشون میده
اشکال کارم کجاست؟
در ضمن _bindsrc یه متغییر از نوع BindingSource هست

ozzy_mra
دوشنبه 13 دی 1389, 10:14 صبح
اساتید عزیز کسی نمی تونه راهنماییم کنه؟

ozzy_mra
چهارشنبه 15 دی 1389, 10:03 صبح
یعنی واقعاً کسی تا حالا از این استفاده نکرده؟؟؟!!

نیما حتمی
دوشنبه 05 اردیبهشت 1390, 11:07 صبح
اگه مشکلت هنوز حل نشده بگو راهنمایی کنم

cnmeysam
جمعه 22 خرداد 1394, 18:17 عصر
سلام میدونم مطلب قدیمیه ولی من تازه کارم و به کمک نیاز شدید دارم
من یه دیتا گرید ساختم که بدون استفاده از ویزارد به دیتا بیس SQL وصلش کردم با استفاده از کلاس Connection
خیلی هم سرچ کردم به خدا. کسی میدونه چطوری و با چه کدی باید bindingSource رو به کلاس کانکشنم وصل کنم وبعد اون رو به bindingNavigator و در آخر به dataGridView ؟
اگه میشه یه قطعه کد با توضیح بذارید ممنون میشم

shadi khanum
شنبه 23 خرداد 1394, 07:38 صبح
سلام میدونم مطلب قدیمیه ولی من تازه کارم و به کمک نیاز شدید دارم
من یه دیتا گرید ساختم که بدون استفاده از ویزارد به دیتا بیس SQL وصلش کردم با استفاده از کلاس Connection
خیلی هم سرچ کردم به خدا. کسی میدونه چطوری و با چه کدی باید bindingSource رو به کلاس کانکشنم وصل کنم وبعد اون رو به bindingNavigator و در آخر به dataGridView ؟
اگه میشه یه قطعه کد با توضیح بذارید ممنون میشم

دوست عزیز بعد از اینکه دیتاستت رو از دیتابیس پر کردی با این دستورا، یه bindingsource بساز و هم به دیتاگرید و هم به نویگیتور اختصاصش بده

BindingSource bs = new BindingSource(new DataView(ds.Tables["TblName"]), "");
dataGridView1.DataSource = bs;
bindingNavigator1.BindingSource = bs;

cnmeysam
شنبه 23 خرداد 1394, 08:37 صبح
شرمنده متوجه نشدم منظورت رو همین کد شما رو به برنامه اضافه کردم ds ارور میده میشه یکم واضح تر و کامل تر توضیح بدیو کد بذاری؟
اگه بشه یه نمونه کار هم بذارین هم به من هم آدمایی مثل من خیلی کمک میشه باز هم ممنون

cnmeysam
یک شنبه 24 خرداد 1394, 10:15 صبح
کسی نیست یه جواب کامل و اساسی به من بده؟

cnmeysam
یک شنبه 24 خرداد 1394, 14:45 عصر
من یه نمونه از برنامه اینجا گذاشتم که ویژوال استدیو 2013 و اس کیو ال 2014 هستش مشکل اینجاست bindingNavigator که باید تو DataGridView بعدی و قبلی و آخری و اولی بره کار نمیکنه و DataGridView هم صفحه بندی نداره کسی میتونه کمکم کنه DataGridView رو صفحه بندی کنم مثلا تو هر صفحه 10 تا آیتم لود بشه و با زدن یک باتن بره صفحه بعد و یا صفحه قبل و DataGridView رو به bindingNavigator درست اتصال بده؟ با ویزارد نمیخوام با کد نویسی میخوام این مشکل رو حل کنم تو همین برنامه ممنون از کمک و راهنماییتون

http://cnmeysam.persiangig.com/C sharp/class_library_Connection.rar/download

cnmeysam
دوشنبه 25 خرداد 1394, 09:37 صبح
کسی نیست جواب بده یا راهنماییم کنه؟

cnmeysam
چهارشنبه 27 خرداد 1394, 09:27 صبح
سلام وقبل از همه چیز ممنون از وقتی که میگذارید . راهنمایی که میدید

تو آموزشهای سایت روش اتصال DataGridView و صفحه بندیش به کمک ویزارد یا با کد نویسی استاتیک وجود داره ولی مشکل من چیز دیگست.

من یه برنامه نمونه ساختم که با استفاده از برنامه نویسی چند لایه و با کلاس بندی و بدون ویزارد و با کد نویسی به دیتا بیس وصل شده من برای اینکه تو شبکه یا وقتی کسی با اینترنت به برنامه وصل میشه سرعت لود پایین نیاد میخوام برنامه به این صورت که توضیح میدم عمل کنه قاعدتا موضوع امنیت هم وسط میاد پس با کلی تحقیق به این نتیجه رسیدم که باید این روش استفاده بشه لطفا جای نقد اگه راه حلی دارین یا میدونید چیکار کنم برنامه رو ادیت کنید من هم از روش یک آموزش می سازم میذارم تو سایت تا همه استفاده کنن نمونه اولیه برنامه رو هم برای دانلود تو ادامه مطلب گذاشتم برنامه با ویژوال استدیو 2013 و زبان C# و دیتابیس SQL Server 2014 ساخته شده بک آپ دیتا هم تو فایل ضمیمه شده

در درجه اول میخوام بدون استفاده از ویزارد bindingNavigator به DataGridView وصل بشه با کد نویسی و استفاده از کلاس نه اینکه تو هر فرم بیایم کانکشن بسازیم میخوام جای اون از کلاس فراخوانی کنیم و جای اینکه کل دیتا رو بیاریم تو DataGridView از SQL Server مثلا 10تا 10 تا دیتا فراخوانی بشه مثلا با این دستور

Select Top (10) * from Ware Order By ID
و جستجو هم از همانجا یعنی SQL انجام بشه اینجوری هم اور لود برنامه خیلی پایین میاد هم امنیت بالا میره هم ترابل شوتینگ راحت میشه هم برنامه با استاندارد پیش میره

برنامه باید 7تا گزینه اصلی داشته باشه ( بعدی، قبلی، اولی، آخری، صفحه بعد و صفحه قبل و سرچ ) واسه صفحه بعد کافیه مثلا بگیم TOP هرچی هست +10 بشه و مثلا از 1تا 10 بره 11تا20 یا برعکس -10 بشه برای صفحه قبل کد سرچ هم که راحته بعدی قبلی اولی و آخری هم که وقتی bindingNavigator وصل بشه به DataGridView خود به خود انجام میشه در کل اگه بتونید فقط bindingNavigator رو تو برنامه نمونه من وصل کنید بقیش رو خودم تکمیل میکنم با آموزش کامل میذارم تو سایت
باز هم شرمنده وقتتون رو گرفتم و ممنون از کمکتون

این هم لینک دانلود برنامه نمونه

http://cnmeysam.persiangig.com/C%20sharp/class_library_Connection.zip/dl

cnmeysam
چهارشنبه 27 خرداد 1394, 12:40 عصر
نیست کسی که مرا یاری کند؟