前台代码为:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="sqlserver自定义表格导入数据.WebForm1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Panel ID="Panel1" runat="server">
            <asp:Label ID="lblTableEnglishName" runat="server" Text="表格英文名称:" Font-Size="Medium"></asp:Label>
            <asp:TextBox ID="txtTableEnglishExplain" runat="server" AutoPostBack="True" Width="150px"></asp:TextBox>
            <asp:Label ID="lblTableChineseName" runat="server" Text="表格中文名称:"></asp:Label>
            <asp:TextBox ID="txtTableChineseExplain" runat="server"></asp:TextBox>
        </asp:Panel>
    
    </div>
    <asp:GridView ID="gdvTableField" runat="server" AutoGenerateColumns="false"
     OnRowDataBound="gdvTableField_RowCommand">
    <Columns>
    
    <asp:TemplateField HeaderText="中文名称">
    <ItemTemplate>
    <asp:TextBox ID="txtColumnChineseName" runat="server" AutoPostBack="true"  
     OnTextChanged="txtColumnChineseName_TextChanged">    
  
    </asp:TextBox>
    </ItemTemplate>
    </asp:TemplateField>    <asp:TemplateField HeaderText="英文名称">
    <ItemTemplate>
    <asp:TextBox ID="txtColumnEnglishName" runat="server" AutoPostBack="true" OnTextChanged="txtColumnEnglishName_TextChanged">    
    </asp:TextBox>
    </ItemTemplate>
    </asp:TemplateField>    <asp:TemplateField HeaderText="字段类型">
    <ItemTemplate>
    <asp:DropDownList ID="ddlFieldType" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlFieldType_SelectedIndexChanged">    
    <asp:ListItem>字符串类型</asp:ListItem>
    <asp:ListItem>数字类型</asp:ListItem>
    <asp:ListItem>时间类型</asp:ListItem>
    <asp:ListItem>文本类型</asp:ListItem>
    <asp:ListItem>小数类型</asp:ListItem>
    </asp:DropDownList>
    </ItemTemplate>
    </asp:TemplateField>    <asp:TemplateField HeaderText="长度">
    <ItemTemplate>
    <asp:TextBox ID="txtIntegerCount" runat="server" AutoPostBack="true"  OnTextChanged="txtIntegerCount_TextChanged">
    </asp:TextBox>
    </ItemTemplate>    
    </asp:TemplateField>    <asp:TemplateField HeaderText="小数位">
    <ItemTemplate>
    <asp:TextBox ID="txtDecimalCount" runat="server" AutoPostBack="true" OnTextChanged="txtDecimalCount_TextChanged" Enabled="false">
    </asp:TextBox> 
    </ItemTemplate>
    </asp:TemplateField>      <asp:TemplateField HeaderText="删除">
           <ItemTemplate>
           <asp:Button ID="btnDeleteRow" runat="server"  Text="删除"  CommandName="aa"     CausesValidation="false" 
            CommandArgument='<%# Container.DataItemIndex %>' OnClientClick="return confirm('确认删除吗?')" />
           </ItemTemplate>
      </asp:TemplateField>  
    </Columns>    
    </asp:GridView>
     <asp:LinkButton ID="lbtnAdd" runat="server" Text="添加内容" 
        onclick="lbtnAdd_Click"></asp:LinkButton>
    <asp:LinkButton ID="lbtnDelete" runat="server" Text="删除内容"  
        onclick="lbtnDelete_Click"></asp:LinkButton>
    </form>
</body>
</html>
后台代码为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;using System.IO;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;namespace sqlserver自定义表格导入数据
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {        }        private DataSet CreateDataSource()
        {
            string strCon;
            strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0;";
            OleDbConnection olecon = new OleDbConnection(strCon);
            OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
            DataSet myds = new DataSet();
            myda.Fill(myds);
            return myds;
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            GridView1.DataSource = CreateDataSource();
            GridView1.DataBind();        }
    }
}

解决方案 »

  1.   

    就是想
      protected void ddlFieldType_SelectedIndexChanged(object sender, EventArgs e)
            {
                DropDownList ddlFieldType = sender as DropDownList;
                GridViewRow gvr = ddlFieldType.Parent.Parent as GridViewRow;
                if (ViewState["dt"] == null)
                {
                    Response.Write("Error");
                    return;
                }
                DataTable stoveTable = (DataTable)ViewState["dt"];
                stoveTable.Rows[gvr.RowIndex]["fieldType"] = ddlFieldType.SelectedValue;
                ViewState["dt"] = stoveTable;
                this.gdvTableField.DataSource = stoveTable;
                this.gdvTableField.DataBind();            //Response.Write(gvr.RowIndex);
                TextBox tb = (TextBox)gvr.FindControl("txtColumnChineseName");
                Response.Write("dd");
                tb.Enabled = false;             //就是想在这里通过获取的textbox设置textbox是否可用
                //这里可以获取值,但是没法设置textbox的属性,例如文本,是否可用等;
                //请求各位大侠们帮助,小弟感激不尽......           
            }
    如果dropdown的值发生变化,希望能控制几个文本是否启用,如果不好说的话,加我qq也行,869199770,恳请大侠帮忙.