PDA

View Full Version : سوال: تغییر مشخصات GridView



jaykob
چهارشنبه 08 دی 1389, 21:22 عصر
سلام

من GridView رو با استفاده از LINQ TO SQL پر کردم به شکل زیر :



DataClassesDataContext db = new DataClassesDataContext();
grdContact.DataSource = db.tbl_contacts;
grdContact.DataBind();


من می خوام خاصیت Headertext کالوم هایی که نشان می دهد را فارسی کنم اما به طور معمول ارور می ده چون به DataSource وصل نشده . جهت تغییر این خاصیت چه باید کرد ؟

ممنون

mahmood1000
چهارشنبه 08 دی 1389, 22:02 عصر
دوست عزیز شما اگر در قسمت دیتا فیلد نام فیلدیو که دیتابیس بر میگردونه وارد کنی مشکلت حل میشه، یه چیزی شبیح کد زیر میمونه


<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
<Columns>

<asp:BoundField DataField="Field1" HeaderText="نام ستون اول" />
<asp:BoundField DataField="Field2" HeaderText="نام ستون دوم" />

</Columns>
</asp:GridView>


شما بجای Field1 و Field2 باید فیلدایی که دیتابیس بر میگردونه رو باید بزارید

jaykob
چهارشنبه 08 دی 1389, 23:13 عصر
دوست عزیز شما اگر در قسمت دیتا فیلد نام فیلدیو که دیتابیس بر میگردونه وارد کنی مشکلت حل میشه، یه چیزی شبیح کد زیر میمونه


<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
<Columns>

<asp:BoundField DataField="Field1" HeaderText="نام ستون اول" />
<asp:BoundField DataField="Field2" HeaderText="نام ستون دوم" />

</Columns>
</asp:GridView>
شما بجای Field1 و Field2 باید فیلدایی که دیتابیس بر میگردونه رو باید بزارید

ممنون دوست عزیز اما این کار نام رو فارسی می کنه دقیقا برای همون فیلد اما اون فیلد قبلی که column هست دوباره تکرار می شه . ممنون می شم راهنمایی کنید
کد هم به شکل زیر شده در حال حاضر اما خروجی به شکل ناجوی هستش که براتون ضمیمه می کنم


<asp:GridView ID="grdContact" runat="server" EnableModelValidation="True"
Width="312px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="contact_id" HeaderText="ردیف" />
<asp:BoundField DataField="contact_name" HeaderText="نام" />
<asp:BoundField DataField="contact_family" HeaderText="نام خانوادگی" />
<asp:BoundField DataField="contact_email" HeaderText="پست الکترونیک" />
<asp:BoundField DataField="contact_message" HeaderText="پیام" />
</Columns>
</asp:GridView>

Peyman.Gh
چهارشنبه 08 دی 1389, 23:53 عصر
AutoGenerateColumns را برابر False قرار دهید.


<asp:GridView ID="GridView1" AutoGenerateColumns=false runat="server">

موفق باشید.

mahmood1000
پنج شنبه 09 دی 1389, 00:19 صبح
همونطور که پیمان جان گفتند باید خاصیت AutoGenerateColumns را برابر False قرار دهید.
پس کد شما به این شکل میشه


<asp:GridView ID="grdContact" runat="server" AutoGenerateColumns=false EnableModelValidation="True"
Width="312px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="contact_id" HeaderText="ردیف" />
<asp:BoundField DataField="contact_name" HeaderText="نام" />
<asp:BoundField DataField="contact_family" HeaderText="نام خانوادگی" />
<asp:BoundField DataField="contact_email" HeaderText="پست الکترونیک" />
<asp:BoundField DataField="contact_message" HeaderText="پیام" />
</Columns>
</asp:GridView>


موفق باشید

jaykob
پنج شنبه 09 دی 1389, 22:13 عصر
همونطور که پیمان جان گفتند باید خاصیت AutoGenerateColumns را برابر False قرار دهید.
پس کد شما به این شکل میشه


<asp:GridView ID="grdContact" runat="server" AutoGenerateColumns=false EnableModelValidation="True"
Width="312px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="contact_id" HeaderText="ردیف" />
<asp:BoundField DataField="contact_name" HeaderText="نام" />
<asp:BoundField DataField="contact_family" HeaderText="نام خانوادگی" />
<asp:BoundField DataField="contact_email" HeaderText="پست الکترونیک" />
<asp:BoundField DataField="contact_message" HeaderText="پیام" />
</Columns>
</asp:GridView>


موفق باشید

ممنون حل شد . بخوام Edit و delete رو اضافه کنم آیا امکان داره تو خود Gridview این کار رو انجام بدم ؟ چون فعال کردم ارور گرفتم .
و بخوام Gridview صفحه به صفحه بشه در هر صفحه به طور مثال 10 رکورد را نشان بدهد چی کار باید کرد ؟

مرجع کاملی برای تنظیمات Gridview وجود داره ؟

تشکر

mahmood1000
شنبه 11 دی 1389, 13:22 عصر
همین سایت مرجع کاملی هستش. برای اینکه هر صفحه فقط 10 رکورد را نمایش دهد باید خاصیت AllowPaging رو برابر True قرار داده و قسمت PageSize را برابر 10 ست کن. در خصوص اینکه edit و... چطور فعال کنی اگر تو سایت یه جستجو کنی حتما به نتیجه و جواب خوبی میرسی