PDA

View Full Version : سوال: نمایش ندادن چک باکس در گرید ویو



hana1369
پنج شنبه 09 شهریور 1391, 20:23 عصر
سلام دوستان
یه سوال؟
آقا من یه برنامه نوشتم که مدیر سیستم که وارد سیستم میشه پیام های ارسال از طرف کاربران رو مشاهده میکنه
پیام ها در گردید ویو نمایش داده میشن
اگه پیام جدید باشه رنگ اون رکورد آبی هستش و یک چک باکس داره
اگه مدیر سیستم پیام رو بخونه، چک باکس رو تیک میزنه و دکمه تایید رو کلیک میکنه
فیلد status اون پیام فالس میشه و باید رنگ رکورد سفید بشه و اون چک باکس هم invisible بشه
کمک کنید چه چوری رنگ رکورد رو سفید کنم و چک باکس بره؟
هر کاری میکنم نمیشه؟:گریه::گریه::گریه:
به کمک فوری نیاز دارم
با تشکر از همه برنامه نویسان

fakhravari
پنج شنبه 09 شهریور 1391, 20:24 عصر
نمونه ای از گرید
<asp:gridview id="GridView2" runat="server" autogeneratecolumns="False" datasourceid="SqlDataSource2"
ondatabound="GridView2_DataBound" ShowHeader="False" >
<columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="Label1" style="font-size: small; font-weight: 700" Text='<%# Eval("UserName")%>'></asp:Label>
<br />
<asp:CheckBox ID="CheckBox1" Checked='<%# Eval("Confirm_Comment")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:gridview
قسمت کد
protected void GridView2_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow item in GridView2.Rows)
{
CheckBox ch = (CheckBox)item.FindControl("CheckBox1");
if (!ch.Checked)
{
ch.Visible = false;

Label lbl = (Label)item.FindControl("Label1");
string Name = lbl.Text;
lbl.Text = "کاربر :" + Name + " این نامه دیده شده است";

}
}
}

fakhravari
پنج شنبه 09 شهریور 1391, 20:38 عصر
<asp:gridview id="GridView2" runat="server" autogeneratecolumns="False" datasourceid="SqlDataSource2"
ondatabound="GridView2_DataBound" ShowHeader="False" >
<columns>
<asp:TemplateField>
<ItemTemplate>

<asp:Panel ID="Panel1" runat="server" >

<asp:Label runat="server" ID="Label1" style="font-size: small; font-weight: 700" Text='<%# Eval("UserName")%>'></asp:Label>
<br />
<asp:CheckBox ID="CheckBox1" Checked='<%# Eval("Confirm_Comment")%>' runat="server" />

</asp:Panel>

</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:gridview>

برای رنگ
protected void GridView2_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow item in GridView2.Rows)
{
CheckBox ch = (CheckBox)item.FindControl("CheckBox1");

Panel pnl = (Panel)item.FindControl("Panel1");
if (!ch.Checked)
{
ch.Visible = false;
pnl.BackColor = Color.Red;
Label lbl = (Label)item.FindControl("Label1");
string Name = lbl.Text;
lbl.Text = "کاربر :" + Name + " این نامه دیده شده است";

}
}
}