天天看点

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

页面代码:html

<%@ Page language="c#" Codebehind="AdjustWidth.aspx.cs" AutoEventWireup="false" Inherits="MsDataGrid.AdjustWidth" %> <%@ Page language="c#" Codebehind="AdjustWidth.aspx.cs" AutoEventWireup="false" Inherits="MsDataGrid.AdjustWidth" %>  

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

<%@ Page language="c#" Codebehind="AdjustWidth.aspx.cs" AutoEventWireup="false" Inherits="MsDataGrid.AdjustWidth" %>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

<HTML>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    <HEAD>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <title>DataGrid使用举例</title>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <meta name="CODE_LANGUAGE" Content="C#">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <meta name="vs_defaultClientScript" content="JavaScript">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    </HEAD>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    <body MS_POSITIONING="GridLayout">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        <form id="Form1" method="post" runat="server">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            <FONT face="宋体">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                <asp:DataGrid id="dgShow" style="Z-INDEX: 101; LEFT: 31px; POSITION: absolute; TOP: 93px" runat="server" Width="842px" Height="172px" BorderColor="Tan" BorderWidth="1px" BackColor="LightGoldenrodYellow" CellPadding="2" GridLines="None" ForeColor="Black" PageSize="1" AutoGenerateColumns="False">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <SelectedItemStyle ForeColor="GhostWhite" BackColor="DarkSlateBlue"></SelectedItemStyle>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <AlternatingItemStyle BackColor="PaleGoldenrod"></AlternatingItemStyle>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <HeaderStyle Font-Bold="True" BackColor="Tan"></HeaderStyle>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <FooterStyle BackColor="Tan"></FooterStyle>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <Columns>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="StudentID" ReadOnly="True" HeaderText="学生ID"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="StudentName" HeaderText="学生姓名"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="StudentPass" HeaderText="密码"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="Sex" HeaderText="性别"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="Birthday" HeaderText="生日" DataFormatString="{0:yyyy-M-d}"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:BoundColumn DataField="Email" HeaderText="邮件地址"></asp:BoundColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:TemplateColumn HeaderText="性别模板列">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            <ItemTemplate>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                                <asp:RadioButton id=RadioButton2 runat="server" Text="男" Checked='<%# DataBinder.Eval(Container, "DataItem.Sex") %>' Enabled="False">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                                </asp:RadioButton>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                                <asp:RadioButton id=RadioButton1 runat="server" Text="女" Checked='<%# !(bool)DataBinder.Eval(Container, "DataItem.Sex") %>' Enabled="False">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            </ItemTemplate>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            <EditItemTemplate>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                                <asp:RadioButton id=cbSex runat="server" Text="男" Checked='<%# DataBinder.Eval(Container, "DataItem.Sex") %>' GroupName="Sex">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                                <asp:RadioButton id=RadioButton4 runat="server" Text="女" Checked='<%# !(bool)DataBinder.Eval(Container, "DataItem.Sex") %>' GroupName="Sex">

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            </EditItemTemplate>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        </asp:TemplateColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:ButtonColumn Text="选择" HeaderText="选择" CommandName="Select"></asp:ButtonColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="操作" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        <asp:HyperLinkColumn Text="点击查看" DataNavigateUrlField="StudentID" DataNavigateUrlFormatString="Show.aspx?ID={0}" DataTextField="StudentName" HeaderText="详细信息"></asp:HyperLinkColumn>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    </Columns>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    <PagerStyle HorizontalAlign="Center" ForeColor="DarkSlateBlue" BackColor="PaleGoldenrod"></PagerStyle>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                </asp:DataGrid></FONT>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        </form>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    </body>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

</HTML>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

后台代码:cs

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Collections;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.ComponentModel;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Data;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Drawing;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Web;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Web.SessionState;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Web.UI;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Web.UI.WebControls;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Web.UI.HtmlControls;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

using System.Data.SqlClient;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

namespace MsDataGrid

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

{

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    /// <summary>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    /// WebForm1 的摘要说明。

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    /// </summary>

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    public class AdjustWidth : System.Web.UI.Page

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        protected System.Web.UI.WebControls.DataGrid dgShow;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void Page_Load(object sender, System.EventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            // 在此处放置用户代码以初始化页面

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            if(!IsPostBack)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                BindData();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void BindData()

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            SqlConnection con = new SqlConnection(strCon);

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            SqlDataAdapter da = new SqlDataAdapter("Select * from tbStudentinfo",con);

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            DataSet ds = new DataSet();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            da.Fill(ds,"studentinfo");

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.DataSource = ds.Tables["studentinfo"].DefaultView;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.DataBind();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.Columns[0].Visible = false;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        Web Form Designer generated code

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.EditItemIndex = e.Item.ItemIndex;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            BindData();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.EditItemIndex = -1;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            dgShow.CurrentPageIndex = e.NewPageIndex;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            if(dgShow.Items.Count==1)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                if(dgShow.CurrentPageIndex!=0)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    dgShow.CurrentPageIndex = dgShow.CurrentPageIndex-1;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strSql = "delete from tbStudentinfo where studentid="+e.Item.Cells[0].Text+"";

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            ExecuteSql(strSql);

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        ////////////////////////////////////////////////////////////

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        //说明:执行制定SQL语句/////////////////////////////////////

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        ///////////////////////////////////////////////////////////

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void ExecuteSql(string strSql)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            try

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                string strconn = System.Configuration.ConfigurationSettings.AppSettings["DSN"];//从Web.config中读取

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                SqlConnection conn =new SqlConnection(strconn);

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                SqlCommand com = new SqlCommand(strSql,conn);

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                conn.Open();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                com.ExecuteNonQuery();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                conn.Close();

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            } 

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            catch(Exception e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                Response.Write("<script language = 'javascript'>alert('"+e.Message+"');</script>") ;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strStudentID = e.Item.Cells[0].Text;//处于非编辑状态

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strName = ((TextBox)(e.Item.Cells[1].Controls[0])).Text;//处于编辑状态

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strPass =((TextBox)(e.Item.Cells[2].Controls[0])).Text;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strSex = ((CheckBox)(e.Item.Cells[3].FindControl("cbSex"))).Checked?"1":"0";

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strBirthday =((TextBox)(e.Item.Cells[4].Controls[0])).Text;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strEmail =((TextBox)(e.Item.Cells[5].Controls[0])).Text;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            string strSql = "update tbStudentinfo set StudentName='"+strName+"',StudentPass='"+strPass+"'";

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            strSql +=",Sex="+strSex+",Birthday='"+strBirthday+"',Email='"+strEmail+"' where studentid="+strStudentID+"";

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

        private void dgShow_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

            if (e.Item.ItemType == ListItemType.EditItem) 

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                for (int i=0;i<e.Item.Cells.Count;i++)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    if(e.Item.Cells[i].Controls.Count>0)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        try

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        {

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            TextBox t =(TextBox)e.Item.Cells[i].Controls[0];

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                            t.Width=130;

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                        catch(Exception ee)

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                    }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

                }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)
DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

    }

DataGrid 完全攻略之一(在编辑状态下改变控件的显示大小)

}

本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/12/253175.html,如需转载请自行联系原作者

继续阅读