PDA

View Full Version : سوال: دریافت متن از جدول یا گرید



mohsen..f
جمعه 29 آذر 1392, 17:25 عصر
سلام. تو طراحی سایت با ایجاد ارتباط با پایگاه داده و دستورات معمول اطلاعات رو داخل گرید ویو ریختم و گزینه سلکت گرید رو هم فعال کردم. با انتخاب سلکت مربوط به هر سطر از گرید، اطلاعات گرید تو تکس باکس ها وارد میشه. تو این حالت مشکلی ایجاد نمیشه.
اما من نمیخوام تمام موارد دیتا بیس که تو گرید هست نمایش داده بشه.
مثلا اگه 3 ستون ای دی و نام و پسورد وجود داره، فقط میخوام کادر مربوط به نام فقط نمایش داده بشه.
واسه اینکار رفتم تو ادیت گرید و دو تا ایتم ای دی و پسورد رو ویزیبلش رو ترو کردم.
حالا تو ظاهر درست شده گرید اما وقتی سلکت میکنم فقط همون متنی که تو گرید هست تو تکس باکس ظاهر میشه و دو ایتم دیگه خالی میمونه.
دستوری که واسه گرفتن متن استفاده میکنم:


GridViewRow row=Grdq.SelectedRow;
txtcase1.Text = row.Cells[1].Text.ToString();
txtcase2.Text = row.Cells[2].Text.ToString();
txtcase3.Text = row.Cells[3].Text.ToString();

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

DataTable dt = new DataTable();
da.Fill(dt);
Grdq.DataSource = dt;
Grdq.DataBind();
خط اول که یه جدول میسازه. خط سوم اطلاعات رو تو گرید میریزه. خط چهارم هم یجورایی ریفرش میکنه گرید رو تا اطلاعات نشون داده بشه.
1- کار کد خط دوم چیه؟
2- اطلاعاتی که تو جدول dt تو مثال بالا ریخته میشه رو چطور میشه تو یه متغیر ریخت.
مثلا تو زبان لوا با دستور dt[1,1] میشد به متنیکه تو سطر 1 از ستون 1 بود دسرسی داشت.
ممنون میشم کمکم کنید.

mohsen..f
یک شنبه 01 دی 1392, 00:59 صبح
سوالم سخته یا دوستان کم لطفی میکنن؟
لطفا اگه راه حلی بلدین کمک کنید

Mohammad_dn
یک شنبه 01 دی 1392, 01:11 صبح
سخت نیست ....ساعت 2 شبه ها...!! یکم صبر کن الآن میزارم

Mohammad_dn
یک شنبه 01 دی 1392, 01:17 صبح
اگه درست متوجه شده باشم شما چنین چیزی میخوای:


protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Text = GridView1.SelectedDataKey["Title"].ToString();
TextBox2.Text = GridView1.SelectedDataKey["Time"].ToString();
TextBox3.Text = GridView1.SelectedDataKey["Date"].ToString();
}





<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Title,Time,Date" DataSourceID="SqlDataSource1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:BoundField DataField="LoPost" HeaderText="LoPost" SortExpression="LoPost" />
<asp:BoundField DataField="LaPost" HeaderText="LaPost" SortExpression="LaPost" />
<asp:BoundField DataField="Tag" HeaderText="Tag" SortExpression="Tag" />
<asp:BoundField DataField="Time" HeaderText="Time" SortExpression="Time" />
<asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" />
<asp:BoundField DataField="IsLaPost" HeaderText="IsLaPost" SortExpression="IsLaPost" />
<asp:BoundField DataField="Catid" HeaderText="Catid" SortExpression="Catid" />
<asp:BoundField DataField="IsUserPost" HeaderText="IsUserPost" SortExpression="IsUserPost" />
<asp:BoundField DataField="SendBy" HeaderText="SendBy" SortExpression="SendBy" />
<asp:BoundField DataField="LikeOf" HeaderText="LikeOf" SortExpression="LikeOf" />
<asp:BoundField DataField="LikeOn" HeaderText="LikeOn" SortExpression="LikeOn" />
</Columns>
</asp:GridView>

Mohammad_dn
یک شنبه 01 دی 1392, 01:28 صبح
1- کار کد خط دوم چیه؟da احتمالا SqlDataAdapter هس...که اطلاعات خودشو میریزه توی dt که از نوع DataTable هس اونوقت شما dt رو به گرید میدید...حالا برای امتحان یه بار کد زیرو حذف کن ببین چی میشه:


da.Fill(dt);

احتمالا دیگه نباید جدولو به درستی نشون بده


2- اطلاعاتی که تو جدول dt تو مثال بالا ریخته میشه رو چطور میشه تو یه متغیر ریخت.من معمولا به جای DataTable از DataSet استفاده میکنم
بعد این دیتاست رو به یه DataRow نسبت میدم...و از طریق اون میتونم به فیلد مورد نظر دسترسی داشته باشم

موفق ، پیروز و سربلند باشید

mohsen..f
یک شنبه 01 دی 1392, 20:25 عصر
ممنون اما نشد.
میشه بگید معادل دستوری زیر واسه asp چی میشه؟

string txt=GridView1.currentRow.Cells["id"].Value.ToString();

Mohammad_dn
یک شنبه 01 دی 1392, 20:54 عصر
سلام..چرا نشد؟نیاز به معادل نیست..من کد رو تست کردم و به درستی کار میکنه

mohsen..f
یک شنبه 01 دی 1392, 21:35 عصر
درسته. یه مشکل کوچیک باعث میشد جواب نده.
اونجایی که گرید رو ایجاد میکنیم. تو این قسمت:

DataKeyNames="Title,Time,Date"
وقتی گرید رو به بانک خودم وصل میکردم این قسمت حذف میشد و فقط ID نوشته میشد.
ممنون :لبخندساده:

sami_villa
یک شنبه 01 دی 1392, 21:51 عصر
سلام... دوست عزیز من توی پروژه asp با گرید ویو اطلاعات رو توی صفحه نمایش میدم....

در پایین صفحه تکس باکس هایی قرار دادم...
میخوام وقتی کاربر رو select کلیک کرد در گرید ویو اطلاعات هر خانه از ردیف انتخاب شده توی تکس باکس مشخصی نمایش بده...
میشه این قطعه کد رو برام بذارید....

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

توی event های گرید ویو کدوم رو باید روش کلیک کنم که توی کد بیهایند با کد شما دستورش رو بنویسم.... ممنون

Mohammad_dn
یک شنبه 01 دی 1392, 22:03 عصر
OnSelectedIndexChanged

این رویداد زمانی رخ میده که شما عملیات سلکت رو انجام میدی

behrad2012
یک شنبه 29 دی 1392, 12:11 عصر
سلام بچه ها
من تازه کارم و نیاز به کمک دارم

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

behrad2012
یک شنبه 29 دی 1392, 12:12 عصر
وقتی که از کتابخانه آنتی ایکس استفاده میکنم این اتفاق می افته

Mohammad_dn
یک شنبه 29 دی 1392, 17:14 عصر
البته تکست باکسی که روی اون تانینی ام سی ای پیاده شده

منظورتو متوجه نشدم...