ASP.net下DataGrid的单项选择控件

    技术2022-05-11  79

    #region 声明//----------------------------------------------------------------------//// 作者: 李淼(Nick.Lee)//// ASP.net下DataGrid的单项选择控件

    // 时间:2005-3-15

    // boyorgril@msn.com// QQ:16503096//注意:引用请标明出处,谢谢//----------------------------------------------------------------------#endregion

    前台:

    <%@ Control Language="c#" AutoEventWireup="false" Codebehind="WebUserControl1.ascx.cs" Inherits="message1.WebUserControl1" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%><LINK href="xpTable.css" type="text/css" rel="stylesheet"><asp:DataGrid id="DataGrid1" runat="server" BorderStyle="None" BorderWidth="1px" CellPadding="4" Font-Size="9pt" Width="70%" BorderColor="#3366CC"> <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle> <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle> <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle> <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle> <Columns>  <asp:TemplateColumn>   <ItemTemplate>     <INPUT type=radio value='<%# DataBinder.Eval(Container.DataItem, "Volume")%>' name=RadioName>   </ItemTemplate>  </asp:TemplateColumn> </Columns> <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle></asp:DataGrid><asp:Button id="Button1" runat="server" Text="Button"></asp:Button><INPUT id="rd" type="hidden" name="rd" runat="server"><asp:Label id="Label1" runat="server">Label</asp:Label>

    后台:

    namespace message1{ using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.OleDb; using System.ComponentModel;

     using NickLee.Web.UI;

     /// <summary> ///  WebUserControl1 的摘要说明。 /// </summary> public class WebUserControl1 : System.Web.UI.UserControl {  protected System.Web.UI.WebControls.DataGrid DataGrid1;  protected System.Web.UI.HtmlControls.HtmlInputHidden rd;  protected System.Web.UI.WebControls.Label Label1;  public DataSet custDS = new DataSet();  protected System.Web.UI.WebControls.Button Button1;

      private string sql;  public string Sql  {   get{return sql;}   set{sql=value;}  }

      //------------------------------------------------------------------------------------  /// <summary>  /// 窗体名  /// </summary>  System.Web.UI.Page _page;  [BrowsableAttribute(true),CategoryAttribute("Appearance"),BindableAttribute(true)]  public System.Web.UI.Page page  {   get   {    return _page;   }   set   {    _page=value;   }  }

      private void Page_Load(object sender, System.EventArgs e)  {   string js = "";//   js+="<script>/r/n";   js+="function ld(){/r/n";   js+="for(i=0;i<document.getElementsByName('RadioName').length;i++)/r/n";   js+="if(document.getElementsByName('RadioName')[i].value==";   js+="document.getElementById('" + rd.ClientID + "').value) ";   js+="document.getElementsByName('RadioName')[i].checked=true/r/n";   js+="}/r/n";   js+="window.οnlοad=ld/r/n";//   js+="</"+"script>/r/n";//   _page.RegisterStartupScript("js",js);   webJSUtil.ExecuteStartup(_page,js);  }

      #region Web 窗体设计器生成的代码  override protected void OnInit(EventArgs e)  {   //   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   //   InitializeComponent();   base.OnInit(e);  }    /// <summary>  ///  设计器支持所需的方法 - 不要使用代码编辑器  ///  修改此方法的内容。  /// </summary>  private void InitializeComponent()  {   this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);   this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);   this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.DataGrid1_SelectedIndexChanged);   this.Button1.Click += new System.EventHandler(this.Button1_Click);   this.Load += new System.EventHandler(this.Page_Load);

      }  #endregion

      private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)  {   #region 取得当前列的主键和复选框的值   if (e.Item.ItemType == ListItemType.AlternatingItem | e.Item.ItemType == ListItemType.Item)   {

        e.Item.Attributes.Add("onMouseDown", "Form1.action='?event=" + e.Item.Cells[2].Text.Replace("'", "''") + "'");    string openView="window.open('./WebForm2.aspx?event="+e.Item.Cells[2].Text.ToString()+"', '双击查看窗口', 'height=230, width=300, top=200, left=200, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')";    e.Item.Attributes.Add("ondblclick",openView);    e.Item.Cells[2].Text = "<nobr>" + e.Item.Cells[2].Text + "</nobr>";   }   #endregion  }

      public void ssss()  {   //   // 在此处放置用户代码以初始化页面   string fileNameString = this.MapPath(".");   fileNameString += "//chartdata.mdb";   string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString;   string mySelectQuery=sql;      // Open data base connection   OleDbConnection myConnection = new OleDbConnection(myConnectionString);   OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);   myCommand.Connection.Open();         // Fill data set object   OleDbDataAdapter custDA = new OleDbDataAdapter();   custDA.SelectCommand = myCommand;   custDA.Fill(custDS,"default");   myCommand.Connection.Close();      DataGrid1.DataSource=custDS.Tables["default"].DefaultView;   DataGrid1.DataBind();  }

      private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)  {   Session["sss"]=e.Item.Cells[1].ToString();  }

      private void Button1_Click(object sender, System.EventArgs e)  {//   Button1.ToolTip=Session["sss"].ToString();   if(Request.Form["RadioName"] != null)   {    rd.Value = Request.Form["RadioName"].ToString();    Label1.Text = "您所选择的是:<font color=red>" + Request.Form["RadioName"].ToString() +"</font>";

       }   else   {    this.Label1.Text="NULL";   }  }

      private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)  {

      } }}

     

    最新回复(0)