PDA

View Full Version : Button Columnدر Data Gride



mohi_ka2
جمعه 06 مهر 1386, 14:34 عصر
با سلام
من در DataGride یک Button Column تعریف کردم و می خواهم وقتی کاربر روی این کلید کلیک می کند متن مر بوط به توضیحات در پایین صفحه ظاهر شود . اما هنوز راه حلی پیدا نکردم .اگر راه حلی به ذهن دوستان برنامه نویس می رسد ممنون می شوم از من هم دریغ نکنند . البته هنوز مطمئن نیستم که این کار شدنی هست یا خیر.

hamed_bostan
جمعه 06 مهر 1386, 15:00 عصر
دوست من قبل از ایجاد تاپیک جستجو کن . تا حالا بالغ بر 10 تاپیک بابت button column و مشکلات اونها ایجاد و رفع و رجوع شده .
شما واسه این کار میتونی زمانی که دکمه ات زده شد کلید اون رکورد رو در بیاری و متن مربوط به اون رو از جدولت بر اساس اون کلید در بیاری و پایین صفحه ات بنا به سلیقه نشون بدی . واسه به دست اوردن کلید رکورد انتخاب شده هم میتونی از datakeyfileld استفاده کنی که قبلش باید datakeys دیتاگرید یا گرید ویووت ست شده باشه
موفق باشی

http://barnamenevis.org/forum/showpost.php?p=217638&postcount=6
http://barnamenevis.org/forum/showthread.php?t=79788&highlight=ButtonColumn
http://barnamenevis.org/forum/showthread.php?t=29376&highlight=ButtonColumn
http://barnamenevis.org/forum/showthread.php?t=2879&highlight=ButtonColumn

mohi_ka2
جمعه 06 مهر 1386, 15:08 عصر
دوست من قبل از ایجاد تاپیک جستجو کن . تا حالا بالغ بر 10 تاپیک بابت button column و مشکلات اونها ایجاد و رفع و رجوع شده .
شما واسه این کار میتونی زمانی که دکمه ات زده شد کلید اون رکورد رو در بیاری و متن مربوط به اون رو از جدولت بر اساس اون کلید در بیاری و پایین صفحه ات بنا به سلیقه نشون بدی . واسه به دست اوردن کلید رکورد انتخاب شده هم میتونی از datakeyfileld استفاده کنی که قبلش باید datakeys دیتاگرید یا گرید ویووت ست شده باشه
موفق باشی
چشم.
ولی دوست عزیز من اینها رو می دونم اما نمی دونم چه روالی رو باید به کار ببرم تا همین رکوردی رو که من می خوام انتخاب بشه و چه جوری باید از datakeyfileld استفاده کنم؟ یعنی منظورم اینه که اگر یک رکوردی انتخاب بشه مقدار فیلد کلید اون رکورد خود به خود در datakeyfileld قرار می گیره؟
البته مطمئنا مهم اینه که اول بفهمم چه روالی رو باید به کار ببرم ؟؟؟؟:متفکر:

mohi_ka2
جمعه 06 مهر 1386, 18:43 عصر
سلام
من این کد رو نوشتم اما کار نمی کنه :


protectedvoid Newa_dg1_ItemCommand(object source, DataGridCommandEventArgs e)
{
Newa_dg1.EditItemIndex = e.Item.ItemIndex;
OleDbConnection conn = newOleDbConnection("provider=Microsoft.jet.OleDb.4.0;Data Source=D:\\Documents and Settings\\MDS\\My Documents\\Visual Studio 2005\\WebSites\\Ghohestan\\App_Data\\News_DataBase .mdb");
OleDbCommand cmmd = newOleDbCommand("Select Text from News_Bank where ID='" + Newa_dg1.DataKeyField[(int)e.Item.ItemIndex] +"' ", conn);
conn.Open();
Newa_dg1.DataSource = cmmd.ExecuteReader();
Newa_dg1.DataBind();
conn.Close();

}

و وقتی رو یکی از رکورد هام کلیک می کنم یک صفحه جدید باز می کنه که در اون DataGride خالی هست و چیزی نمایش داده نمی شه !!!!
می شه لطفا راهنماییم کنین؟
ممنون

hamed_bostan
جمعه 06 مهر 1386, 21:31 عصر
این Newa_dg1.EditItemIndex = e.Item.ItemIndex این وسط واسه چیه؟




Protected Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.ItemCommand
If e.CommandName = "del" Then
ExamC.DeleteGroup(DataGrid1.DataKeys(e.Item.ItemIn dex))
If ExamC.ListGroup(Me.DataGrid1) = False Then
'code to log error
End If
End If
End Sub
ببین این کد واسه حذفه و واسه datagrid هست
واسه به دست اوردن کلید میتونی از این استفاده کنی :



DataGrid1.DataKeys(e.Item.ItemIndex)

mohi_ka2
شنبه 07 مهر 1386, 07:18 صبح
واسه به دست اوردن کلید میتونی از این استفاده کنی :



DataGrid1.DataKeys(e.Item.ItemIndex)


سلام. درسته منهم اول از این کد استفاده کردم اما یه مشکلی هست . این DataKeys یک پروپرتیه و اینجوری قبولش نمی کنه و ارور می ده!

Newa_dg1.EditItemIndex = e.Item.ItemIndex رو هم برای همین کار گذاشته بودم

قبلا از این کد استفاده کرده بودم اما این هم کار نمی کرد!

where ID='" + Newa_dg1.DataKeyField[(int)e.Item.ItemIndex] + "'

دیگه واقعا گیج شدم نمی دونم باید چه کار کرد ؟! هر راهی رو که امتحان می کنم ارور می ده!:اشتباه:

mohi_ka2
شنبه 07 مهر 1386, 10:26 صبح
سلام
با تشکر از همه دوستان که در رفع این مشکل قدم برداشته اند ، من مشکلم رو با کد زیر حل کردم:


OleDbCommand cmmd = newOleDbCommand("Select AllText from News_Bank where ID=? ", conn);
conn.Open();
cmmd.Parameters.Add("@ID",Newa_dg1.DataKeys[e.Item.ItemIndex]);

گذاشتم تاشاید به درد کسی بخوره . اگر کسی هم نظری داره دریغ نکنه
در پناه حق