|  | 分類:[ASP.NET (VB)]
 
 お世話になります。
 当方、VB2008/ASP.NET/VBでWEBアプリケーション構築をしています。
 
 現在、TabControl・GridViewを使用したページを作っています。
 TabControlの外ではJavaScriptを利用した行の選択処理を行えるのですが
 TabControl内のGridViewでは選択処理が完全に反映されていない状態です。
 やり方としては、コード内で選択リンクの行を非表示にし、aspx側のJavaScriptに
 PostBack処理をさせています。選択したい行をどこでもいいのでクリックすれば
 背景色が変わるようにしたつもりです。
 
 Tabは5つあり、1つ1つに別々のGridViewが配置してあります。
 PostBackは来ているようですが、背景色が変更されません。背景色はcssで指定しています。
 ページの<head>内でリンクを貼ってcssファイルを読み込む感じです。
 TabControl内ではJavaScriptでのcss利用(?)は使用できないのでしょうか。
 
 他人が作っていたものを途中から引き継いでいるのでアレですが
 コードを載せておきます。
 /* JavaScript */
 <script type="text/javascript" language="javascript">
 function SelectedRow(rowNum, gridViewId)
 {
 __doPostBack(gridViewId, 'Select$' + rowNum);
 }
 
 </script>
 
 
 /* GridViewイベント これがGridView分(5つ)あります */
 Private Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
 e.Row.Cells(0).Style.Add("display", "none")
 If Not e.Row.RowType = DataControlRowType.DataRow Then
 Exit Sub
 End If
 
 Dim clickEvent As String = String.Format("SelectedRow('{0}', '{1}')", e.Row.RowIndex, Me.GridView1.ClientID)
 
 e.Row.Attributes.Add("onClick", clickEvent)
 e.Row.Attributes.Add("onDblClick", clickEvent)
 
 e.Row.Style.Add("cursor", "hand")
 
 Me.Page.MaintainScrollPositionOnPostBack = True
 End Sub
 
 
 /* GridView (TabControl分(5つ)あります/cssを使用しています) */
 <ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="タブ名"><HeaderTemplate>タブ名</HeaderTemplate>
 <ContentTemplate>
 <asp:Panel ID="Panel2" runat="server" Height="290px" Width="500px" ScrollBars="Auto">
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CssClass="dgv">
 <RowStyle CssClass="dgvrs" />
 <AlternatingRowStyle CssClass="dgvars" />
 <Columns>
 <asp:CommandField ShowSelectButton="True" >
 <ItemStyle Width="40px" /></asp:CommandField>
 <asp:BoundField DataField="カラム名1" headertext="カラム名1" SortExpression="カラム名1">
 <ItemStyle CssClass="dgvis" Wrap="False"  Width="150px"/></asp:BoundField>
 <asp:BoundField DataField="カラム名2" headertext="カラム名2" SortExpression="カラム名2">
 <ItemStyle CssClass="dgvis" Wrap="False"  Width="280px" /></asp:BoundField></Columns>
 <HeaderStyle CssClass="dgvhs" Wrap="False" />
 <SelectedRowStyle Wrap="False" CssClass="dgvsrs" />
 </asp:GridView>
 </asp:Panel></ContentTemplate></ajaxToolkit:TabPanel>
 
 どうぞよろしくお願いします。
 
 |