<%@ Page Language="C#" AutoEventWireup="True"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %><html><head>   <script runat="server">      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);
         return dv;      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         }      }      void IndexChange_Command(Object sender, EventArgs e)
      {
          
         // Display the details of the selected item.
         DetailsLabel.Text = 
            "Item Number: " + ItemsGrid.SelectedItem.Cells[1].Text + "<br>" +
            "Description: " + ItemsGrid.SelectedItem.Cells[2].Text + "<br>" +
            "Price: $" + ItemsGrid.SelectedItem.Cells[3].Text + "<br>";      }   </script></head><body>   <form runat="server">      <h3>Declarative BaseDataList SelectedIndexChanged Example</h3>      Select an item:       <br><br>      <asp:DataGrid id="ItemsGrid" 
           BorderColor="Black"
           ShowFooter="False" 
           CellPadding=3 
           CellSpacing="0"
           HeaderStyle-BackColor="#aaaadd"
           OnSelectedIndexChanged="IndexChange_Command"
           runat="server">         <Columns>            <asp:ButtonColumn Text="Select"
                 CommandName="Select"/>         </Columns>      </asp:DataGrid>      <hr>      <table border="1" bordercolor="black" cellspacing="0">         <tr bgcolor="#aaaadd">            <td>               Details            </td>         </tr>         <tr>            <td>               <asp:Label id="DetailsLabel"
                    runat="server"
                    Text="No item selected."/>            </td>         </tr>      </table>   </form></body>
</html>

解决方案 »

  1.   

    private void dg1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName=="OpenWindow")
    {
    TableRow row=e.Item;
    string str=row.Cells[1].Text;
    this.RegisterClientScriptBlock("iujij","<script language='javascript'>window.open('Particular.aspx?Clt_ID="+str+"','abcd','height=645,width=820,resizable=1')</script>");
    }
            }
      

  2.   

    Page Language="C#" AutoEventWireup="True"%>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><html><head>   <script runat="server">      ICollection CreateDataSource() 
          {
          
             // Create sample data for the DataGrid control.
             DataTable dt = new DataTable();
             DataRow dr;
     
             // Define the columns of the table.
             dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
             dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
             dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));         // Populate the table with sample values.
             for (int i = 0; i < 9; i++) 
             {
                dr = dt.NewRow();
     
                dr[0] = i;
                dr[1] = "Item " + i.ToString();
                dr[2] = 1.23 * (i + 1);
     
                dt.Rows.Add(dr);
             }
     
             // Create a DataView from the DataTable.
             DataView dv = new DataView(dt);
             return dv;      }
     
          void Page_Load(Object sender, EventArgs e) 
          {
     
             // Load sample data only once, when the page is first loaded.
             if (!IsPostBack) 
             {
                ItemsGrid.DataSource = CreateDataSource();
                ItemsGrid.DataBind();
             }      }      void IndexChange_Command(Object sender, EventArgs e)
          {
              
             // Display the details of the selected item.
             DetailsLabel.Text = 
                "Item Number: " + ItemsGrid.SelectedItem.Cells[1].Text + "<br>" +
                "Description: " + ItemsGrid.SelectedItem.Cells[2].Text + "<br>" +
                "Price: $" + ItemsGrid.SelectedItem.Cell
      

  3.   

    只需要把此行的颜色改变一下就可以了绑定客户端onclick事件激发该行的隐藏按钮的服务器段click事件;
    2.在ItemDataBound事 件中c#if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onmouseover", "this.style.backgroundColor='#99cc00';this.style.color='buttontext';this.style.cursor='default';");
    e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='';this.style.color='';");
    }
    vb.net If e.Item.ItemType <> ListItemType.Header And e.Item.ItemType <> ListItemType.Footer Then
                Response.Write(Color.Beige.ToString())
                e.Item.Attributes("id") = e.Item.ItemType.ToString() + e.Item.ItemIndex.ToString()
                e.Item.Attributes.Add("OnMouseOut", "this.style.backgroundColor='';")
                e.Item.Attributes.Add("OnMouseOver", "this.style.backgroundColor='#99cc00';this.style.color='buttontext';this.style.cursor='default';")        End If