前台代码为:
<%@ 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(); }
}
}
<%@ 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(); }
}
}
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,恳请大侠帮忙.