View Full Version : مشکل نمایش چک باکس در گرید ویو
aliblue
سه شنبه 22 فروردین 1391, 09:03 صبح
با سلام.من تو جدولم یک فیلد دارم که میخوام مقادیرش True یا False باشه.برا همین از نوع Bit تعریفش کردم.وقتی با SqlDataSource داده ها رو select میکنم و توی GridView نمایش میدم این فیلد به صورت یک چک باکس نمایش داده میشه به رنگ خاکستری(که فکر کنم طبیعیه چون مقدارش قابل edit نیست)
ولی مشکل اینجاست که وقتی این صفحه از سایت که گرید ویو توش هست رو با موبایل (opera) میبینم،چک باکس تمام رکورد ها چه اونایی که true هستن چه false به صورت انتخاب نشده (False) دیده میشه.
یه سایت دیگه هم که چک باکس توی گریدویو داشت رو با موبایل دیدم همین مشکلو داشت.
موضوع مهمی هم هست چون ممکنه تعداد زیادی از بازدید کنندگان از موبایل برای بازدید استفاده کنند.
aliblue
پنج شنبه 29 تیر 1391, 11:44 صبح
راهی که به نظرم رسید اینه که به جز checkbox رنگ این فیلد از سلول رو تغییر بدیم.مثلا اگر true بود سبز بشه و اگه false بود قرمز بشه.برای این کار فکر کنم باید از رویداد RowDataBound استفاده بشه.کسی میتونه بگه چه کدی باید بنویسم؟
alonemm
پنج شنبه 29 تیر 1391, 13:10 عصر
باسلام:
در قالب یک پروژه:
یک جدول داریم که یک فیلد نام استان از نوع Nvarchar و فیلد دیگر مشخص کننده مرزخروجی میباشد که از نوع Bit میباشد.
خب برای نمایش از یک شی GridView و یک منبع داده SQLDataSource استفاده میکنیم:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333"
GridLines="None" onrowdatabound="GridView1_RowDataBound">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:CheckBoxField DataField="outskirt" HeaderText="outskirt"
SortExpression="outskirt" />
<asp:BoundField DataField="display_name" HeaderText="display_name"
SortExpression="display_name" />
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:JuratTollConnectionString %>"
SelectCommand="SELECT [outskirt], [display_name] FROM [city]">
</asp:SqlDataSource>
حالا قصد داریم شهر هایی که مرزخروجی نیستند یعنی مقدار چک باکس False هست رو به رنگ سبز دربیاریم :
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chb = e.Row.Cells[0].Controls[0] as CheckBox;
if (!chb.Checked)
{
e.Row.Cells[0].BackColor = System.Drawing.Color.Green;
}
}
}
پروژه رو اجرا کنید و از کارتون لذت ببرید...!
aliblue
پنج شنبه 05 مرداد 1391, 11:06 صبح
با تشکر. هم با asp.net 3.5 ساختم هم با 4 و روی لوکال هردوشون کار میکردند(دیتابیس روی هاست قرار داشت).اما وقتی سایت رو آپلود میکنم با 3.5 کار میکنه ولی ورژن دات نت هاست رو 4 میکنم و سایتی که با asp.net 4 ساختم رو آپلودش میکنم،خطا میده که عکسشو تو پست اول عکس اول آدرس زیر گذاشتم:
http://barnamenevis.org/showthread.php?351588-%D8%AE%D8%B7%D8%A7-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D8%B3%D8%A7%DB%8C%D8%AA-asp.net4-%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-Chart
یه صفحه ساده asp.net 4 روی هاستم گذاشتم اون کار میکنه ولی به جز این مشکل،موقع کار با کنترل چارت هم همین پیغامو روی هاست میده و معلوم نیست مشکل از چیه.من فکر میکنم ورژن 4 هاستم مشکل داره ولی اونا میگن مشکلی نیست و برنامت مشکل داره.ولی آخه کجای برنامم مشکل داره در حالی که لوکال(با دیتابیس روی هاست)کار میکنه؟
کسی میتونه یه صفحه ساده در مورد همین مشکل(GridView1_RowDataBound) یا اون که در لینک بالا گفتم(استفاده از کنترل چارت) در asp.net4 بسازه و رو هاستش آپلود کنه ببینه کلا مشکل داره یا مشکل از هاست منه؟
alonemm
شنبه 07 مرداد 1391, 10:41 صبح
باسلام:
این مشکل میتونه از نسخه دات نت روی سرور شما باشه.
از نسخه IIS و دات نت روی سرور برای سایت شما اطمینان حاصل کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.