PDA

View Full Version : آموزش مبحث دیتا گرید



peymannaji
دوشنبه 03 اردیبهشت 1386, 09:53 صبح
سلام دوستان ...
ما که از بس سوال کردیم و به نتیجه نرسیدیم خسته شدیم ... لطفا هر کسی که توانایی ساخت دیتا گریدی مثل سایت vaseteh.com رو داره برای آموزش اون در ویژوال استادیو 2003 به بنده بصورت خصوصی به من ایمیل بده محل ترجیحا نزدیک سهروردی یا ولیعصر ...

peyman.naji@gmail.com


سوالم هم این بود که یک ستون لینک در دیتا گرید داشته باشیم و با کلیک بروی هر لینک شماره رکورد مربوطه را دریافت کته و اونو پاس کنه به یک صفحه دیگه و حالا اونجا یه بلایی سرش بیاد ...

fereshte22
دوشنبه 03 اردیبهشت 1386, 10:13 صبح
سلام
فکر کنم این کد به کارتون بیاد(در مورد لینک)


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<td><a href="joziatkala.aspx?ID=<%#Eval("id") %>">جزئیات بیشتر </a><br/>
</td>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>


در ضمن حتما gridview را به دیتاسورس مورد نظر بایند کنید.اگر میخواهید به جای جزئیات بیشتر خود فیلد باشد به صورت زیر عمل کنید


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<td><a href="joziatkala.aspx?ID=<%#Eval("id") %>"><%#Eval("name") %> </a><br/>
</td>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

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

peymannaji
دوشنبه 03 اردیبهشت 1386, 12:20 عصر
سلام دوست عزیز ...
راستش نسبتآ یه چیزایی فهمیدم اما پیاده سازیش رو نتونستم امکان داره فایل پروژه رو برام بفرستی؟ جبران میکنم ... در ضمن این کد شما برای 2005 هست اگه فرقی نمیکنه با 2003 که هیچ ... با تشکر ...

fereshte22
دوشنبه 03 اردیبهشت 1386, 14:17 عصر
سلام
ببینید شما کافیه یک grid در صفحه طراحی کنید.و یک ستون از نوع
TemplateField به اون اضافه کنید .سپس در بین دو تگ <ItemTemplate>و

</ItemTemplate> کد زیر را اضافه کنید


<ahref="joziatkala.aspx?ID=<%#Eval("id") %>"><%#Eval("name") %> </a><br/>



در اینجا به جای joziatkala.aspx نام صفحه ای که اطلاعات را میخواهید به اون پاس شود را قرار دهید.


ID=<%#Eval("key")

این کد key را که همون شماره رکورد مورد نظر است راپیدا میکند که ما را به صفحه مورد نظر پاس میدهد که شما در صفحه بعدی با این کد به اون دسترسی پیدا میکنید.(به جایkey نام فیلد مورد نظر(شماره رکورد)را قرار دهید)


number1 = Request.QueryString("id")



شما هر کنترل دیگر شامل label و trxtbox و..را که بخواهید در grid داشته باشید در بین همین دو تگ
<itemtemplate>قرار دهید.
نمیدونم مشکلتون حل شد یا نه؟

peymannaji
دوشنبه 03 اردیبهشت 1386, 15:21 عصر
یک سری سوال دارم که بعد از امتحان حتما" میپرسم منتظر جواب پیام خصوصی هم هستم ...
ممنون ...

peymannaji
دوشنبه 03 اردیبهشت 1386, 21:42 عصر
آیا این کدهای شما در vs 2003 هم جواب میده ؟

fereshte22
دوشنبه 03 اردیبهشت 1386, 22:46 عصر
فکر نکنم با 2003مشکلی داشته باشد فقط خوب به جای gridview از datagrid استفاده میشودو به جای sqldatasource از sqlconnetion کلا فرق زیادی نمیکند

peymannaji
سه شنبه 04 اردیبهشت 1386, 10:53 صبح
سلام دوست عزیز .
من ابتدا یک گرید ویوو در صفحه قرار دادم و اونو بایند کردم به بانکم و بعدش یک TemplateField اضافه کردم به بقیه ستونهام . حالا بین تگ

<asp:TemplateField>


</asp:TemplateField>

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

http://www.30panel.com/out.php/i40_NET1.gif

http://www.30panel.com/out.php/i41_NET2.gif

fereshte22
سه شنبه 04 اردیبهشت 1386, 11:20 صبح
دوست عزیزاین عکس هاتون که خالیه.

peymannaji
سه شنبه 04 اردیبهشت 1386, 11:50 صبح
عکس ها سالم هست اما با این حال ATTACH میکنم

release2008
سه شنبه 04 اردیبهشت 1386, 11:53 صبح
تو کد تون به جای کد

<a href="joziatkala.aspx?ID=<%# Eval("id") %>" > جزیات بیشتر </a>که زیرش خط ابی ظاهر شده، اینو بنویسید




<ItemTemplate>
<a href='<%# "joziatkala.aspx?ID=" + DataBinder.Eval(Container.DataItem,"id") %>' >جزییات بیشتر</a>
</ItemTemplate>]

peymannaji
سه شنبه 04 اردیبهشت 1386, 12:52 عصر
تو کد تون به جای کد

<a href="joziatkala.aspx?ID=<%# Eval("id") %>" > جزیات بیشتر </a>که زیرش خط ابی ظاهر شده، اینو بنویسید




<ItemTemplate>
<a href='<%# "joziatkala.aspx?ID=" + DataBinder.Eval(Container.DataItem,"id") %>' >جزییات بیشتر</a>
</ItemTemplate>]



سلام دوست عزیز من کد شما رو قرار دادم و error داد و نتیجه رو بصورت عکس قرار دادم که از تگ a ایراد گرفته در ضمن صفحه design هم همانطوری هست که در پست فبل دیدین لطفا" راهنمایی کنید و یک سوالی که کمی شک داشتم اینه که در اینجا id در انتهای خط همون فیلد id در دیتا بیسه ؟

http://www.30panel.com/out.php/i42_Untitled1.jpg

fereshte22
سه شنبه 04 اردیبهشت 1386, 13:43 عصر
براساس تصویر اولی که شما فرستاده بودید شما باید از تگ های زیر هم استفاده کنید


<itemtemplate>
</itemtemplate>

به صورت


<asp:TemplateField>
<ItemTemplate>
<td><a href="joziatkala.aspx?ID=<%#Eval("id") %>">جزئیات بیشتر </a><br/>

</td>
</itemtemplate>
</asp:TemplateField>

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

release2008
سه شنبه 04 اردیبهشت 1386, 14:05 عصر
کاش به جای تنها تگ <a> ، کل کد را بزارید.
البته فکر کنم کد fereshte22 هم درسته به شرطی که آخرش یک <asp:TemplateField/> و بین ahref را فاصله بندازی یعنی a href

peymannaji
پنج شنبه 06 اردیبهشت 1386, 10:16 صبح
براساس تصویر اولی که شما فرستاده بودید شما باید از تگ های زیر هم استفاده کنید


<itemtemplate>
</itemtemplate>
به صورت


<asp:TemplateField>
<ItemTemplate>
<td><a href="joziatkala.aspx?ID=<%#Eval("id") %>">جزئیات بیشتر </a><br/>

</td>
</itemtemplate>
</asp:TemplateField>
قبلا هم گفته بودم از این تگ ها استفاده کنید.امیدوارم مشکلتون حل بشه

سلام دوست عزیز. از راهنمایی شما ممنون ...
اما یک مشکلی که هست اینه که این کد در 2003 جواب نمیده چیکار باید کرد ؟

jasadeghi
پنج شنبه 06 اردیبهشت 1386, 11:58 صبح
سلام دوست عزیز
شما آیا در صفحه Default.aspx.vb بانک اطلاعاتی رو باز کردید و مشخصات فیلدهای مورد نظر رو مشخص کردید که حالا می خواید از اونها استفاده کنید.
اگر برنامه vb تون رو هم بگذارید شاید بشه کمک بیشتری کنیم.

fereshte22
پنج شنبه 06 اردیبهشت 1386, 12:08 عصر
سلام
حتما برنامتون را بفرستید.من هم vs2003 نصب میکنم تا ببینیم مشکل چیه

peymannaji
پنج شنبه 06 اردیبهشت 1386, 12:37 عصر
سلام
حتما برنامتون را بفرستید.من هم vs2003 نصب میکنم تا ببینیم مشکل چیه



فدات بشم خیلی ماهی خیلی بهت زحمت دادم ...

ببین من این قسمتو نساختم هنوز اما میام از بانکهایی که تو sql بصورت مثال هست استفاده میکنم و یک چیز ساده می سازم تو اون به من بگید حله ... بازم تشکر از محبتت ...
من یک دیتا گرید میزارم و اونو به northwind وصل میکنم و بقیه کارو میسپارم دستتون
تمام امیدم به شماست ... در ضمن تو 2005 با یک روش دیگه هم ok کردم اما اینو تو 2003 میخوام ...
بازم ممنون از محبتتون ...

fereshte22
پنج شنبه 06 اردیبهشت 1386, 17:24 عصر
سلام
من یه برنامه خیلی ساده نوشتم که یه لینک میسازد واون را به صفحه دیگری پاس میدهد ودر اون صفحه id رکورد مورد نظر را بازیابی میکند.
اگر خواستید که لینک شما حاوی فیلد مورد نظر باشد در قسمت textfield دیتاگرید نام رکورد مورد نظر را قرار دهید.

peymannaji
پنج شنبه 06 اردیبهشت 1386, 21:01 عصر
سلام
من یه برنامه خیلی ساده نوشتم که یه لینک میسازد واون را به صفحه دیگری پاس میدهد ودر اون صفحه id رکورد مورد نظر را بازیابی میکند.
اگر خواستید که لینک شما حاوی فیلد مورد نظر باشد در قسمت textfield دیتاگرید نام رکورد مورد نظر را قرار دهید.

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

fereshte22
جمعه 07 اردیبهشت 1386, 12:06 عصر
سلام
شرمنده از اینکه فایل را درست نفرستاده ام.راستش من الان به سیستم خودم دسترسی ندارم(و اینجا دات نت هم ندارم) ولی فایل را فردا دوباره براتون میفرستم.ولی کار به این صورت بود که شما اول یه دیتا گرید توی صفحه بیارید بعد اون را به دیتابیس بایند کنید .در قسمت columns یک ستون از نوع hyperlink به اون اضافه کنید .حالا این ستون چند تا تنظیم دارد.قسمت dataurlformatstring (یه چیزی شبیه این)این فیلد را برابر با
joziatkala.aspx?id={0} قرار دهید.
در قسمتdataurlfiled نام فیلدرا مثلا id قرار دهید و یا number وهر چیزی که کلید جدول شما است.اگر خواستید که لینک شما حاوی یک متن مثلا (جزئیات بیشتر باشد)این جمله را در قسمت headertext قرار دهید در غیر این صورت در قسمت datatextfiled نام فیلد مورد نظر را قرار دهید.( فقط ممکنه اسم فیلد ها تفاوت اندکی داشته باشد)

fereshte22
شنبه 08 اردیبهشت 1386, 08:26 صبح
این هم یک برنامه خیلی ساده برای لینک

peymannaji
چهارشنبه 12 اردیبهشت 1386, 23:44 عصر
سلام دوست عزیز ...
زودتر از اینا باید از شما تشکر میکردم اما متاسفانه اینترنت در دسترس نبود ... خیلی زحمت کشیدین برام . کل مباحث مربوط به دیتا گرید رو متوجه شدم ... با تشکر فراوان
موفق باشید ...