PDA

View Full Version : کار با checkbox های مربوط به datagridview



saeid6366
جمعه 02 اسفند 1387, 19:50 عصر
با سلام.من به وسیله datgridview اطلاعات یک جدول رو توی یک فرم نمایش میدم. از طرفی می خوام با تیک زدن checkbox های کنار هر سطر datgridview اطلاعات اون سطر در جدول دیگه ای ذخیره بشه.اما نمیدونم چرا وقتی چند سطر رو تیک می زنم error میده(اگه فقط یه سطر رو تیک بزنم درست کار می کنه) و می گه:"variable names must be unique within a query batch or stored procedure"
حالا ممنون میشم اگه کسی راهی یا کدی به ذهنش می رسه بهم بگه.
منتظرم.

majid325
شنبه 03 اسفند 1387, 00:18 صبح
كدت رو كه نزاشتي!!!!!!

saeid6366
شنبه 03 اسفند 1387, 19:17 عصر
با سلام.من به وسیله datgridview اطلاعات یک جدول رو توی یک فرم نمایش میدم. از طرفی می خوام با تیک زدن checkbox های کنار هر سطر datgridview اطلاعات اون سطر در جدول دیگه ای ذخیره بشه.اما نمیدونم چرا وقتی چند سطر رو تیک می زنم error میده(اگه فقط یه سطر رو تیک بزنم درست کار می کنه) و می گه:"variable names must be unique within a query batch or stored procedure"
حالا ممنون میشم اگه کسی راهی یا کدی به ذهنش می رسه بهم بگه.
منتظرم.

ببخشید. کدم رو یادم رفته بود بذارم. فقط باید در مورد کد بگم که idbox یک textbox که بالای datagridview هست و id رو فقط یک بار اون هم قبل از تیک زدن checkbox ها داخلش می نویسم.


private void grdtermlesson_CellContentClick(object sender,
DataGridViewCellEventArgs e)
{
SqlCommand objCommand = new SqlCommand();
SqlConnection objConnection3 = new
SqlConnection("server=localhost;database=project;Integrated
Security=true");

objCommand.Connection = objConnection3;
objCommand.CommandText = "INSERT INTO unitselect " +
"( id,lessoncode,ostadidnr,termcode ) " +
" VALUES(@id,@lessoncode,@ostadidnr ,@termcode)";

objCommand.Parameters.AddWithValue("@id", idbox.Text);
objCommand.Parameters.AddWithValue("@lessoncode",
grdtermlesson.SelectedCells[0].OwningRow.Cells["lessoncode"].Value); objCommand.Parameters.AddWithValue("@ostadidnr", grdtermlesson.SelectedCells[0].OwningRow.Cells["ostadidnr"].Value); objCommand.Parameters.AddWithValue("@termcode", grdtermlesson.SelectedCells[0].OwningRow.Cells["termcode"].Value);

objConnection3.Open();
objCommand.ExecuteNonQuery();
objConnection3.Close();


}

majid325
یک شنبه 04 اسفند 1387, 00:05 صبح
نمیدونم در چه شرایطی برنامتون قرار داره که به این صورت کد نوشتین‌! فکر میکنم اگه سناریو کار رو هم تعریف میکردی بهتر راهنمایی میشدی.
روشی که من به شما پیشنهاد میکنم اینه که شما از دیتاست استفاده کنی , کمی راجع به متد haschenge مربوط به dataset تحقیق کنید و به طور کلی در کدی که گزاشتید متوجه نشدم کجا چک میکنید که اگه checkbox مساوی با true بود عمل درج صورت گیرد و سناریو رو به این صورت (اگر لزومی در روش فعلی نیست) عوض کنید که کاربر سطر های خود رو انتخاب کند و بعد شما با یک loop در دیتاست بر گردونده شده توسط متد getchenge مربوط به dataset سطر های که true بودن رو insert کنید.
من فقط راهش رو توضیح دادم , چون اگه کد میخواستید با توجه به کاری که انجام دادید میبایست تمام کد ها رو مینوشتم .
راهنمایی من به شما :
در این باره جستجو کنید اگر از مطالب به دست اومده در جستجو جاییش نیاز به توضیح خواست من در خدمتم.