asp.net(VB)で質問があります。
諸事情により、GridViewでラジオボタンを使い、入力をしたいと思っております。
Webで気に入ったラジオボタンのデザイン(css)を見つけ、自分なりに編集してみたのですが、
GridViewに複数レコードが存在する場合、ラジオボタンを編集すると、2行目以降の
ラジオボタンの選択項目を選択しても、1行目に反映がされてしまいます。
解決方法などありましたら、教えていただければ幸いです。
(1行目で"出勤"が選択された状態で、2行目以降の"遅刻","出張"..exをClickしても、
1行目の"遅刻","出張"..exが選択状態になります。)
ソース(asp.net):
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ユーザID" DataSourceID="odsUserList"> <Columns> <asp:BoundField DataField="ユーザID" HeaderText="ユーザID" ReadOnly="True" SortExpression="ユーザID" /> <asp:BoundField DataField="氏名" HeaderText="氏名" ReadOnly="True" SortExpression="氏名" /> <asp:TemplateField AccessibleHeaderText="状態"> <ItemTemplate> <div class="RDO"> <input name="s3" id="select1" value="1" type="radio"> <label for="select1">出勤</label> <input name="s3" id="select2" value="2" type="radio"> <label for="select2">遅刻</label> <input name="s3" id="select3" value="3" type="radio"> <label for="select3">出張</label> <input name="s3" id="select4" value="4" type="radio"> <label for="select4">有給</label> <input name="s3" id="select5" value="5" type="radio"> <label for="select5">欠勤</label> </div> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
css:
.RDO input{ display: none; } .RDO label{ display: block; float: left; cursor: pointer; width: 80px; margin: 0; padding: 12px 5px; border-right: 1px solid #abb2b7; background: #bdc3c7; color: #555e64; font-size: 14px; text-align: center; line-height: 1; transition: .2s; } .RDO label:first-of-type{ border-radius: 3px 0 0 3px; } .RDO label:last-of-type{ border-right: 0px; border-radius: 0 3px 3px 0; } .RDO input[type="radio"]:checked + label { background-color: #a1b91d; color: #fff; }
環境
OS:Windows7
Visual Studio:2010
.net Framework:4.7.03056
SQL Server:2017
回答1件