View Full Version : سوال: DataTable & GridView
Al.Nop
یک شنبه 04 مرداد 1388, 16:21 عصر
سلام:لبخندساده:
من با اجازه ی شما (!) یک DataTable ایجاد کردم که شامل 3 ستون بصورت ID ، Product ، Price هست و این Table رو به شیوه ای پر کردم و در رخداد Page_PreRender از آن به عنوان DataBase یک GridView استفاده کردم . ولی نمی خوام که ستون ID نمایش داده بشه .
چیکار می تونم بکنم ؟
مرسی:چشمک:
abbaseftekhari
دوشنبه 05 مرداد 1388, 09:22 صبح
سلام
شما اگر برای گرید ویو ستون تعیین کرده باشید می توانید به قسمت سورس برنامه رفته و ستون مربوطه به id خاصیت Visibleرا false کنید ، به این ترتیب ستون مربوطه دیگر دیده نمی شود.
Al.Nop
دوشنبه 05 مرداد 1388, 12:16 عصر
سلام :لبخندساده:
مثل اینکه به سوال من توجه کامل نکردید .
من هیچ ستونی برای Grid ایجاد نکردم بلکه همه ی کار ها به صورت دستی در DataTable انجام دادم سپس DataTable رو به Grid ، باند کردم .
من ابتدا کد زیر رو در رخداد Prerender بعد از باند کردن گرید نوشتم ولی نمیدونم چرا جواب نمیده :
GridView1.Columns(0).Visible = False
مرسی :چشمک:
milade
دوشنبه 05 مرداد 1388, 14:10 عصر
سلام
به Edit Coulmn برو و Auto Creating ( یا یه همچین چیزی ) رو تیکش رو بردار .
حالا همون جا ستونهای لازم رو تعریف کن .
Al.Nop
دوشنبه 05 مرداد 1388, 15:50 عصر
سلام:لبخندساده:
کد گریدویو به این صورت هست :
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
</asp:GridView>
و AutoGenerateField هم تیک نداره ولی همچنان دستور منطقی زیر جواب نمیده !
GridView1.Columns(0).Visible = False
abbaseftekhari
دوشنبه 05 مرداد 1388, 18:06 عصر
سلام
در این صورت نام ستون های گریدویو بصورت انگلیسی خواهد بود
شما می توانید دستی کار کنید به Edit Coulmn رفته وستون هایی که می خواهید باند کنید را ایجادکنید و نام فارسی یا هر نم دلبخواهی قرار دهید ، این روش معمول است وقتی دستی همه کار میکنید می توانید این کار را انجام دهید و در آنجا ستون مورد نظر را مخفی کنید.
naeeme
سه شنبه 06 مرداد 1388, 09:01 صبح
دستور GridView1.Columns(0).Visible = False رو در کجا استفاده می کنید؟
در ضمن، آیا ستونهای گرید شما ثابت می مونه؟ اگر ثابت می مونه شما می تونید به صفحه .aspx برید و در زمان design ستونهای گریدتون رو یک به یک معرفی کنین و اونها رو به ستونهای جدولتون بایند کنین. وقتی چنین کاری رو انجام بدین، دیگه نیازی به پنهان کردن ستون مربوط به ID نخواهید داشت.
به این مثال توجه کنین:
من یه حدول دارم که دارای 4 ستون هست اما می خوام فقط دو ستون اون رو در گرید نشون بدم. کاری که می کنم این هست. گرید رو به صورت زیر تعریف می کنم:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id">
<Columns>
<asp:BoundField DataField="name" HeaderText="name" />
<asp:BoundField DataField="lastname" HeaderText="lastname" />
</Columns>
</asp:GridView>
بعد با کد زیر گرید رو بایند می کنم:
GridView1.DataSource = dt
GridView1.DataBind()
نتیجه همونی هست که می خوام
Al.Nop
سه شنبه 06 مرداد 1388, 14:03 عصر
سلام .:لبخندساده:
بله درسته ،بعد از ایجاد کار های فوق بهتره که خاصیت EnableViewState گرید ویو هم False بشه تا از خطاهای احتمالی جلوگیری کنه.
موفق باشید .:چشمک:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.