PDA

View Full Version : سوال: انتخاب یک سطر از دیتا گریدویو و دریافت اطلاعات



mjt10063
یک شنبه 22 خرداد 1390, 19:42 عصر
با سلام خدمت دوستان عزیز
سوالم در مورد اینه که
توی برنامه من یه جدول که داخل این جدول یه نوع محتوا به نام تاریخ عنوان و توضیح وجود داره
من توی دیتا گرید ویو فقط عنوان رو select میکنم
می خوام وقتی روی هر سطر از این اطلاعات کلیک میکنم
محتوایت جدول که تاریخ و توضیح اون عنوان انتخاب شده
توی دوتا textbox
نمایش داده بشه

ممنون از همکاری شما دوستان.

haghft
یک شنبه 22 خرداد 1390, 20:26 عصر
فرضا ایندکس تاریخ 1 و توضیح 2 باشد:
try
{
textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();
textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();
}
catch { }

mjt10063
یک شنبه 22 خرداد 1390, 20:41 عصر
دوست عزیز ممنون از پاسختون
منظور شما از ایندکس
چیه ؟؟
و عبارت
dgv ??

اگر میشه ی توضیح بدین
با تشکر

haghft
یک شنبه 22 خرداد 1390, 22:03 عصر
dgv اسم دیتا گرید ویو هستش و ایندکس(اندیس،شاخص) هم عددی هست که به هر ستون به ترتیب از 0 به بعد تعلق میگیره مثلا تو این نمونه ای که من گفتم ستون تاریخ ستون دومه پس ایندکسش میشه 1 و ستون توضیح ستون سومه ایندکسش میشه 2.
در ضمن من یادم رفت بگم این کدو تو رویداد SelectionChanged دیتاگریدویو باید بنویسید بدین گونه:
private void dgv_SelectionChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();
textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();
}
catch { }
}

mjt10063
یک شنبه 22 خرداد 1390, 22:51 عصر
دوست عزیز خیلی ممنون واقعا کمک کردید
با آرزوی موفقیت

mjt10063
یک شنبه 22 خرداد 1390, 23:38 عصر
دوست عزیز قبل از این کد ها باید چطوری به بانک متصل بشم با dataadpter
یا command
با تشکر

haghft
یک شنبه 22 خرداد 1390, 23:45 عصر
من خودم datareader یا به قول شما command رو پیشنهاد میکنم.

mjt10063
دوشنبه 23 خرداد 1390, 16:48 عصر
دوست عزیز من نتونستم جواب بگیرم
به نظرم
نتونستم رویداد گرید رو خوب تعریف کنم
برای اتصال هم نتونستم خوب جواب بگیرم

string str = "data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database\\Archeu.mdf;Integrated Security=True;User Instance=True";
SqlConnection scon = new SqlConnection(str);
scon.Open();


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

haghft
دوشنبه 23 خرداد 1390, 17:17 عصر
منظورتون از اینکه "نتونستم رویداد گرید رو خوب تعریف کنم" چیه؟
برای اون مشکلتون هم از این نمونه استفاده کنید.

mjt10063
سه شنبه 24 خرداد 1390, 19:56 عصر
دوست عزیز این فایلی که گداشتین دانلود کردم ولی دیتابیس نمیتونست بخونه
در کل کد ها رو خوندم ولی چیزی در مورد این برقراری ارتباط نتونستم پیدا کنم
یا شایدم بود و نتونستم
متوجه بشم
شما اگر فقط کد ارتباط رو بزارین ممنون میشم.

mmd2009
سه شنبه 24 خرداد 1390, 22:41 عصر
dgv اسم دیتا گرید ویو هستش و ایندکس(اندیس،شاخص) هم عددی هست که به هر ستون به ترتیب از 0 به بعد تعلق میگیره مثلا تو این نمونه ای که من گفتم ستون تاریخ ستون دومه پس ایندکسش میشه 1 و ستون توضیح ستون سومه ایندکسش میشه 2.
در ضمن من یادم رفت بگم این کدو تو رویداد SelectionChanged دیتاگریدویو باید بنویسید بدین گونه:
private void dgv_SelectionChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();
textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();
}
catch { }
}

با سلام .

دوست عزیز چرا از ورودی EventArgs استفاده نکردید؟


try
{
this.textBox1.Text = (string)this.dataGridView1[1, e.RowIndex].Value;
this.textBox1.Text = (string)this.dataGridView1[2, e.RowIndex].Value;
}
catch { }

haghft
چهارشنبه 25 خرداد 1390, 07:37 صبح
با سلام .

دوست عزیز چرا از ورودی EventArgs استفاده نکردید؟


try
{
this.textBox1.Text = (string)this.dataGridView1[1, e.RowIndex].Value;
this.textBox1.Text = (string)this.dataGridView1[2, e.RowIndex].Value;
}
catch { }

دوست عزیز کدت اشتباهه!
این EventArg یک EventArg سادست و خاصیت row.Index رو نداره.

mjt10063
پنج شنبه 26 خرداد 1390, 00:28 صبح
با تشکر از همه دوستان

mjt10063
پنج شنبه 26 خرداد 1390, 00:37 صبح
ببخشید کسی کد ارتباط رو ننوشت
ممنون میشم اگر کد کامل رو بدین تا ماهم از این سردر گمی در بیایم
با تشکر

mjt10063
پنج شنبه 26 خرداد 1390, 19:35 عصر
string str = "data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database\\Archeu.mdf;Integrated Security=True;User Instance=True";
SqlConnection scon = new SqlConnection(str);
scon.Open();


private void dgv_SelectionChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();
textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();
}
catch { }
}

دوستان اگر میشه ادامه این کد رو برام بنویسید
چطور این دیتا گرید ویو رو اتصال بدم
ممنون میشم

mmd2009
پنج شنبه 26 خرداد 1390, 19:46 عصر
دوست عزیز کدت اشتباهه!
این EventArg یک EventArg سادست و خاصیت row.Index رو نداره.

ایونتی که من استفاده کردم با ایونتی که شما استفاده کردید فرق میکنه و الا کد درسته.

mjt10063
جمعه 27 خرداد 1390, 15:36 عصر
دوستان اگر میشه به مشکل من رسیدگی کنید ممنون میشم

ma.rad
جمعه 27 خرداد 1390, 16:21 عصر
اینایی که دوستان گفتن درسته
دیگه چه مشکلی هست؟

mjt10063
شنبه 28 خرداد 1390, 15:08 عصر
مشکل اینجاست که وقتی می خوای اطلاعات رو توی گرید نماش بدی بالا خر اول گرید رو با بانک ارتباط میدی
درسته
من ارتباط گرید با بانک رو بلد نیستم نمی دونم چطور میشه به هم متصلشون کرد تا این خط کد ها رو وارد کنم؟؟؟/


try

{

textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();

textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();

}

catch { }

}

mjt10063
شنبه 28 خرداد 1390, 15:10 عصر
مشکل اینجاست که وقتی می خوای اطلاعات رو توی گرید نماش بدی بالا خر اول گرید رو با بانک ارتباط میدی
درسته
من ارتباط گرید با بانک رو بلد نیستم نمی دونم چطور میشه به هم متصلشون کرد تا این خط کد ها رو وارد کنم؟؟؟/


try

{

textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();

textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();

}

catch { }

}

rezano
شنبه 28 خرداد 1390, 15:36 عصر
سلام
از این دستور می تونی برای پر کردن دیتاگرید ویو استفاده کنی.


string str = "data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database\\Archeu.mdf;Integrated Security=True;User Instance=True";
SqlConnection cnn = new SqlConnection(str);
SqlCommand cmm = new SqlCommand("select * from TableName");

cmm.Connection = cnn;
SqlDataAdapter DA = new SqlDataAdapter(cmm);

DataSet DS = new DataSet();

cnn.Open();
DA.Fill(DS, "TableName");
cnn.Close();

dataGridView1.DataSource = DS;


اون خط اول که بستگی به بانکت داره و باید کانکشن استرینگش رو درست تنظیم کنی
اون جاهایی هم که نوشتم TableName باید نام جدولت رو بنویسی.

mjt10063
چهارشنبه 01 تیر 1390, 16:48 عصر
ممنون دوست من این کدی که نوشتین من باید کجاش اون دستورات انتخاب سطر رو وارد کنم تا جواب بده

mjt10063
پنج شنبه 02 تیر 1390, 17:43 عصر
dgv اسم دیتا گرید ویو هستش و ایندکس(اندیس،شاخص) هم عددی هست که به هر ستون به ترتیب از 0 به بعد تعلق میگیره مثلا تو این نمونه ای که من گفتم ستون تاریخ ستون دومه پس ایندکسش میشه 1 و ستون توضیح ستون سومه ایندکسش میشه 2.
در ضمن من یادم رفت بگم این کدو تو رویداد SelectionChanged دیتاگریدویو باید بنویسید بدین گونه:
private void dgv_SelectionChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = dgv[1, dgv.CurrentRow.Index].Value.ToString();
textBox2.Text = dgv[2, dgv.CurrentRow.Index].Value.ToString();
}
catch { }
}

دوستان کسی نمیتونه به ما بگه که این کدی که داده شده چطور میشه استفاده اش کرد
ممنون میشم اگر یه پاسخ صحیح ببینم
با تشکر

rezano
پنج شنبه 02 تیر 1390, 18:29 عصر
سلام

این خانه از پایبست ویران است:لبخند: (ولش کن)

یه نمونه برات نوشتم که اطلاعات رو از بانک میگیره و میریزه توی دیتاگریدویو بعد روی هر کدوم از سطرهای دیتاگرید که کلیک کنی اطلاعاتش رو تو تکس باکس های پایین نشون میده.
همینو می خواستی دیگه؟
اگه مشکلی داشتی بازم بگو

دانلود (http://up.iranblog.com/images/jl1zimgoy897zp4atbd.rar)

m_jalaly
شنبه 05 شهریور 1390, 18:36 عصر
دوست عزیز این فایلی که گذاشتین فایل database توش نیست اونم اینه که دیتا بیس تو درایو c شما هستش به خاطر همینم این ارور رو میده
74471

ahrimaneahurai
شنبه 05 شهریور 1390, 19:24 عصر
مشکلی نیست. connecion string رو عوض کنید.

rezano
شنبه 05 شهریور 1390, 23:09 عصر
دوست عزیز این فایلی که گذاشتین فایل database توش نیست اونم اینه که دیتا بیس تو درایو c شما هستش به خاطر همینم این ارور رو میده
74471

فایل رو که از rar خارج کنی فایل دیتابیس توی مسیر
WindowsFormsApplication7\WindowsFormsApplication7\ bin\Debug
هستش.
همون جایی که فایل exe برنامه ساخته و اجرا میشه
http://lineupload.tk/images/80010783413321385144.jpg

شما توی کانکشن استرینگ مسیر رو عوض کن درست میشه.

hamirayan
یک شنبه 06 شهریور 1390, 00:52 صبح
با سلام خدمت دوستان عزیز
سوالم در مورد اینه که
توی برنامه من یه جدول که داخل این جدول یه نوع محتوا به نام تاریخ عنوان و توضیح وجود داره
من توی دیتا گرید ویو فقط عنوان رو select میکنم
می خوام وقتی روی هر سطر از این اطلاعات کلیک میکنم
محتوایت جدول که تاریخ و توضیح اون عنوان انتخاب شده
توی دوتا textbox
نمایش داده بشه


سلام
کافی است این کد را وارد نمایید:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
}

rain123456
سه شنبه 15 اسفند 1391, 12:45 عصر
سلام :

دوستان یک فرم طراحی کردم که ردیف اول یک radiobutton به نام "rdbedit2" قرار دادم . دو مشکل دارم :

اول اینکه میخوام وقتی روی radiobutton هر سطر کیلیک شد او سطر گرید ویو select شه

دوم اینکه فقط یک radiobutton بتونه انتخاب شه با هر کلیک

این دستورای selectindex رو خوندم ، اما هر چی باهاش سرو کله زدم نتونستم کاری از پیش ببرم

اون قسمتای اصل کاریش هم به این شرحه :


private void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

}

<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="rdbedit2" runat="server" onclick="GridView1_SelectedIndexChanged" />
</ItemTemplate>
</asp:TemplateField>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

rezano
سه شنبه 15 اسفند 1391, 22:52 عصر
سلام :

دوستان یک فرم طراحی کردم که ردیف اول یک radiobutton به نام "rdbedit2" قرار دادم . دو مشکل دارم :

اول اینکه میخوام وقتی روی radiobutton هر سطر کیلیک شد او سطر گرید ویو select شه

دوم اینکه فقط یک radiobutton بتونه انتخاب شه با هر کلیک

این دستورای selectindex رو خوندم ، اما هر چی باهاش سرو کله زدم نتونستم کاری از پیش ببرم

اون قسمتای اصل کاریش هم به این شرحه :


private void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

}

<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="rdbedit2" runat="server" onclick="GridView1_SelectedIndexChanged" />
</ItemTemplate>
</asp:TemplateField>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

سلام دوست عزیز

1.این بخش مربوط به #C هستش
کدهای شما مثل اینکه ASP هست
به صفحه اصلی سایت برید و از اونجا وارد بخش ASP بشید
(اونجا بچه ها سریع تر جواب میدن)

2.یه تاپیک برای سوال خودتون درست کنید (اینجا هر مشکل توی یه تاپیک مطرح میشه)
کدهاتون هم توی تگ کد بزارید که خوانا تر بشه

موفق باشید :چشمک: