实现起来比较复杂,输入框不复杂,用编辑列就可以了,但是如果要想使用DropDownList等控件作为输入控件,会复杂点,难道主要在于更新的数据库里,如果你的DataGrid和数据库不绑定,那就没必要用DataGrid,如果要是绑定,用编辑列输入,如果想实现插入功能,还得结合SqlCommandBuild
解决方案 »
- 网页上传至服务器上后出现乱码
- 用VS做的ASP.NET WEB应用程序能不能和asp网页文件一起上传到服务器做为网页文件用?
- 一个关于xml的问题 请高手帮忙 谢谢!!!!
- 最近在看c#Web应用程序入门经典,碰到了一个问题,大家棒棒忙
- 新建一项目时出错,请高手指教,表示感谢!!!!!
- 如何设置一个页面打开进入后,一段时间后,如2秒,将该IE窗口关闭?-----------------------------
- listbox问题
- 这个方法也更新不了数据源,为何?<求救>
- 兄弟们看一看啊我的分页可以实现了但为什么不能点击下一页呢<>,记录有9条啊
- 网上招聘信息中没1个是招会 ASP.NET 和c#的,学是学了...
- 装了vs.net2003但在插入水晶报表时出现要注册的问题
- 请问为什么我ASP.NET不支持调试功能????
C#
if (e.Item.ItemType == ListItemType.Header)
{
DataGridItem dgi = new DataGridItem(0,-1,ListItemType.Header);
DataGridItem dgi1= new DataGridItem(0,-1,ListItemType.Header);
Table tb = new Table();
tb = (Table)DataGrid1.Controls[0];
tb.Rows.AddAt(0,dgi);
tb.Rows.AddAt(1,dgi1);
TableCell tc = new TableCell();
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc22 = new TableCell();
tc.Text = "ddd";
tc.ColumnSpan = 1;
dgi.Cells.Add(tc);
tc1.Text = "ddd2";
tc1.ColumnSpan = 1;
dgi.Cells.Add(tc1);
tc2.Text = "ddd";
tc2.ColumnSpan = 1;
dgi1.Cells.Add(tc2);
tc22.Text = "ddd2";
tc22.ColumnSpan = 1;
dgi1.Cells.Add(tc22);
}
<%@ Page language="c#" Codebehind="Update.aspx.cs" AutoEventWireup="false" Inherits="myWebSit.Test.Update" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<TITLE>Update</TITLE>
<META name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<META name="CODE_LANGUAGE" Content="C#">
<META name="vs_defaultClientScript" content="JavaScript">
<META name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<BODY MS_POSITIONING="GridLayout">
<FORM id="Form1" method="post" runat="server">
<ASP:DATAGRID id="DataGrid1" AutoGenerateColumns="False" style="Z-INDEX: 101; LEFT: 96px; POSITION: absolute; TOP: 80px"
runat="server" DataKeyField="code">
<COLUMNS>
<ASP:TEMPLATECOLUMN HeaderText="Code">
<ITEMTEMPLATE>
<ASP:TEXTBOX Runat="server" ID="txtCode" ></ASP:TEXTBOX>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN HeaderText="Name">
<ITEMTEMPLATE>
<ASP:TEXTBOX ID="txtName" Runat="server" ></ASP:TEXTBOX>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
</COLUMNS>
</ASP:DATAGRID>
<ASP:BUTTON id="Button1" runat="server" Text="保存"></ASP:BUTTON>
</FORM>
</BODY>
</HTML>
.cs文件
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("code");
for (int i=0;i<10;i++)
{
DataRow row = dt.NewRow();
row[0]="";
row[1]="";
dt.Rows.Add(row);
}
this.DataGrid1.DataSource = dt.DefaultView;
this.DataGrid1.DataBind();
}
}
private void Button1_Click(object sender, System.EventArgs e)
{
string strSQL ="";
// this.DataGrid1.DataBind();
for (int i=0;i<this.DataGrid1.Items.Count;i++)
{
DataGridItem item = this.DataGrid1.Items[i];
if(item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
TextBox txtCode = (TextBox)item.Cells[0].FindControl("txtCode");
TextBox txtName = (TextBox)item.Cells[1].FindControl("txtName");
strSQL +="Insert Into Table(code,name) values('" + txtCode.Text.Trim().Replace("'","") +"','" + txtName.Text.Trim().Replace("'","''")+"');";
} } Response.Write(strSQL);
}
谢谢了!!!最好是vb的!!哈!