#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) {
} }}
