2017-04-09 5 views
1

データフィールドの1つがチェックボックスであるgridviewがあります。私はDBを読んで、gridviewにデータを取り込みました。私はまた、OnRowCommandアイテムを持っています。行を選択すると、チェックボックスの値を取得して、フォームのlableに入れたいと思う。
HTML:背後asp.netデータベースからデータを取り込んだ後にGridViewでCheckBoxを評価する方法

<asp:GridView ID="grv_Contacts" runat="server" 
    DataKeyNames="Cntc_Id" AutoGenerateColumns="False" 
    CssClass="myGrid" OnRowCommand="grv_Contacts_RowCommand"> 
    <Columns> 
     <asp:CommandField SelectText="SEL" 
      ShowSelectButton="True" ControlStyle-CssClass="btn btn-warning myBtn-xs"> 
      <ControlStyle Font-Bold="True" ForeColor="Blue" Width="40px" /> 
     </asp:CommandField> 
     <asp:BoundField DataField="Cntc_Id" HeaderStyle-CssClass="myHidden" ItemStyle-CssClass="myHidden"> 
     </asp:BoundField> 
     <asp:BoundField DataField="Cntc_Name" HeaderText="Name" SortExpression="Cntc_Name"> 
      <HeaderStyle Width="180px" /> 
      <ItemStyle CssClass="myGridItemMaxWidth" HorizontalAlign="Right" Wrap="false" /> 
     </asp:BoundField> 
     <asp:CheckBoxField DataField="Cntc_Allowed_To_Edit" HeaderText="?Allowed" SortExpression="Cntc_Allowed_To_Edit" /> 
    </Columns> 
    <HeaderStyle CssClass="my_Grid_Header" /> 
    <SelectedRowStyle BackColor="#669999" ForeColor="White" Font-Bold="True" /> 
</asp:GridView> 

コード:

protected void grv_Contacts_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    int my_Grv_Row_Index = Convert.ToInt32(e.CommandArgument); 
    CheckBox my_CBX = (CheckBox)(grv_Contacts.Rows[my_Grv_Row_Index].Cells[3].Controls[0]); 
    lbl_Message.Text = my_CBX.Text; 
} 

私はデバッグして、コメントを追加my_CBX上の時計を、それのようにその
値を示したlbl_Message.Text
にNULL得続けます{Text = "" Checked = true}

グリッドビューでのckeckboxの評価方法それはチェックされているかどうか...?
ありがとうございます!

答えて

1

CheckBoxFieldを使用しているため、GridViewはデータベースのbit列の視覚的な表示としてのみチェックボックスを表示します。したがって、デフォルトではTextはありません。 デフォルトのTextプロパティをチェックボックスに追加できます。

<asp:CheckBoxField Text="?Allowed" HeaderText="?Allowed" 

lbl_Message.Text = my_CBX.Text;を使用すると、Textプロパティの値が表示されます。

ただし、チェックボックスがオンになっているかどうかを確認するには、Checkedを使用してください。

lbl_Message.Text = my_CBX.Checked.ToString(); 
//or 
if (my_CBX.Checked == true) 
{ 
    lbl_Message.Text = "Checkbox is checked"; 
} 
+0

Oooooo、man!どうもありがとうございます。私はそれに多くの時間を費やして、答えはとても簡単でした。本当にありがとう!!私は:my_CBX.Checked.ToString()を使用し、それは正常に動作します。 – gadi

関連する問題