- - PR -
DataGridの行選択
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-29 15:48
いつもお世話になっております。
ASP.NETにおいて、<asp:datagrid>を使用しています。 選択した行を反転させたいと思っているのですが、 HTML言語だと以下の様にTABLEの行選択を実現できることはわかったのですが、 ------------------------------------ <html><body> <script language="Javascript"> function Click_TR() { if (obj.style.backgroundColor=='blue') { obj.style.backgroundColor='white' } else { obj.style.backgroundColor='blue' } } </script> <table border=1 width=100%> <tr onclick="Click_TR(this)"><td>あああああ <tr onclick="Click_TR(this)"><td>いいいいい </table> </body></html> ------------------------------------ DataGridを使用して上での代替方法が見つかりません。 どなたかご存知の方が折られましたら、ご教授いただけないでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2005-06-29 15:57
NAL-6295です。 MSDNでDataGridの項を見れば分かると思いますが・・・ SelectedIndex SelectedItemStyle あたりを参考にしてください。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-06-29 16:19
お返事ありがとうございます。
ヘルプを参考にして、 現在は、<AlternatingItemStyle>と<ItemStyle>を使用して、 交互に行の背景色を変更することはできているのですが、 同じような感じで、<SelectedItemStyle>を設定したのですが反映されません。 SelectedIndexを使用しなければいけないのかどうか、よく分かりませんが、 <SelectedItemStyle>を使用する際は、他に設定するプロパティなどあるのでしょうか? 着色の優先順位をみても、問題ないように思いました。 サーバー側でSelectedIndexを設定すれば色は変更されるのですが、 クライアント(JavaScript)だけで実現はできないものでしょうか。 どうか、よろしくお願いいたします。 ------------------------------------------------------------- <DIV style="OVERFLOW: auto; WIDTH: 950px; HEIGHT: 385px" ms_positioning="FlowLayout"> <asp:datagrid id="dgabcdefg" runat="server" AutoGenerateColumns="False" OnPageIndexChanged="Page_Change" AllowPaging="True" PageSize="10" Font-Size="9pt" Font-Names="MS ゴシック"> <AlternatingItemStyle ForeColor="Black" BackColor="Beige"></AlternatingItemStyle> <ItemStyle ForeColor="Black" BackColor="#CCCCFF"></ItemStyle> <SelectedItemStyle BackColor="yellow"></SelectedItemStyle> <Columns> <asp:BoundColumn DataField="JYHNO" HeaderText="生年月日"> <HeaderStyle Wrap="False" HorizontalAlign="Left" Width="80px"> </HeaderStyle> </asp:BoundColumn> <asp:BoundColumn DataField="URINO" HeaderText="氏名"> <HeaderStyle Wrap="False" HorizontalAlign="Left" Width="70px"> </HeaderStyle> </asp:BoundColumn> </Columns> <PagerStyle></PagerStyle> </asp:datagrid> </DIV> [ メッセージ編集済み 編集者: WEB初心者 編集日時 2005-06-29 17:00 ] | ||||
|
投稿日時: 2005-06-29 17:54
[ASP.NET]DataGridコントロールに選択ボタンを追加するには?
.NET TIPS などを参考にしては如何でしょう。 [追記] あっ、クライアントスクリプトでしたか。 であれば、ItemDataBound時にJavaScriptを埋め込むとか [ メッセージ編集済み 編集者: えんぞ@? 編集日時 2005-06-29 18:00 ] | ||||
|
投稿日時: 2005-06-29 18:10
そのサンプル http://www.atmarkit.co.jp/fdotnet/dotnettips/075onmousedg/onmousedg.html | ||||
|
投稿日時: 2005-06-29 18:27
自分の回答に納得いかなかったので...、なんとなくこんな感じなんかな。
-------------------- function Click_TR(obj) { if (obj.parentNode.parentNode.style.backgroundColor=='blue') { obj.parentNode.parentNode.style.backgroundColor='white' } else { obj.parentNode.parentNode.style.backgroundColor='blue' } } -------------------- <asp:DataGrid ID="DataGrid1" Runat="server"> <Columns> <asp:TemplateColumn> <ItemTemplate> <input type="button" id="button1" onclick="JavaScript:Click_TR(this);" value="button"> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> -------------------- # ちなみに、JavaScriptのparentNodeはブラウザによっては対応可否があるので適用するかどうかはご自分の判断にて |
1