在C#中怎样在客户端给gridview添加一行,不加入数据库,不刷新页面! ~急!~ 在线等~ 在C#中怎样在客户端给gridview添加一行,不加入数据库,不刷新页面! ~急!~ 在线等~请给一段代码:谢谢,高分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是winform,你直接在数据源.addnew就可以了如果是webform,你可以考虑用javascript直接在table(datagrid在html中显示为table)增加一行 javascript,添加<tr><td>,网上很多这样的例子 你在前台查看源代码后,找到table的ID,用javascript加就可以了,如果要用到后台技术,可以考虑用Ajax 我只是把数据库到gridview里去,但是整个程序还没有结束,因为我后面的程序还要用到gridview里的值,而且我别一个软件也会用到这个值,所以不能用table此问题环境是应用在webform里 winform还是webform??winform我没搞过下面是webform的一个例子<%@ Page Language="C#" %><%@ Import Namespace="System.Data" %><script runat="server"> protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("t1"); dt.Columns.Add("t2"); dt.Rows.Add(new object[]{"test1","test2"}); //注意要绑定一个数据源,要不这个gridview无法生成表格的html代码 dvTest.DataSource = dt.DefaultView ; dvTest.DataBind(); }</script><html><head><title>GridView测试</title><meta http-equiv="http-content" content="text/html;charset=gb2312"/><style>td{font-size:10pt}a{font-size:10pt}</style></head><body><form runat="server" id="form1"><asp:GridView runat="server" ID="dvTest" Width="300px" AutoGenerateColumns="false" ShowHeader="false"><Columns> <asp:BoundField DataField="t1" ItemStyle-Width="150px"/> <asp:BoundField DataField="t2" ItemStyle-Width="150px"/></Columns></asp:GridView><div><input type="button" value="添加行" onclick="AddRow()"/></div></form><script type="text/javascript">var dvTest=document.getElementById("<%=dvTest.ClientID %>");//使用服务器端代码获取这个gridview的客户端idvar Flag=1;function AddRow(){ if(dvTest) { var row=dvTest.insertRow(); row.insertCell(0).appendChild(document.createTextNode("这是js插入的第"+Flag+"-1列")); row.insertCell(1).appendChild(document.createTextNode("这是js插入的第"+Flag+"-2列")); Flag++; } else alert("找不到这个Html控件!");}</script></body></html> showbo 能不能给个QQ或MSN咨询一下,我的QQ是:273321407,MSN:[email protected],skype:jack86514,谢谢! 给DataTable 加个 DataRow再把 DataTable 给 GridView showbo 你的这个可以,但是我不是用<input type="button" value="添加行" onclick="AddRow()"/>而是用<asp:Button ID="btnAdd1" runat="server" 所以如果我用这个控件的话,那么就会运行服务器的 不是有onclientclick事件么?好像有我刚转到.net,如果说错了请原谅 实现窗口功能 webbrowser 打开office问题。 c#调用 VC嵌套结构体 C# 如何删除计算机内指定证书 .NetFramework自己提供的类为什么有提示信息? 怎么弄法? (有结果必结贴, 顶者有分) 多线程怎么退出程序 关于DBGrid中如何更改字体颜色的问题!! symbol mc3000开发 C#写的程序出问题了,程序自动退出,系统日志里面提示.Net RunTime XmlSerializer 和SoapFormatter和BinaryFormatter的比较? monthcalendar与combobox配合使用时的问题 如何用windows服务来启动一个本地进程?
如果是webform,你可以考虑用javascript直接在table(datagrid在html中显示为table)增加一行
此问题环境是应用在webform里
<%@ Import Namespace="System.Data" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("t1");
dt.Columns.Add("t2");
dt.Rows.Add(new object[]{"test1","test2"});
//注意要绑定一个数据源,要不这个gridview无法生成表格的html代码
dvTest.DataSource = dt.DefaultView ;
dvTest.DataBind();
}
</script>
<html>
<head>
<title>GridView测试</title>
<meta http-equiv="http-content" content="text/html;charset=gb2312"/>
<style>
td{font-size:10pt}
a{font-size:10pt}
</style>
</head>
<body>
<form runat="server" id="form1">
<asp:GridView runat="server" ID="dvTest" Width="300px" AutoGenerateColumns="false" ShowHeader="false">
<Columns>
<asp:BoundField DataField="t1" ItemStyle-Width="150px"/>
<asp:BoundField DataField="t2" ItemStyle-Width="150px"/>
</Columns>
</asp:GridView>
<div><input type="button" value="添加行" onclick="AddRow()"/></div>
</form>
<script type="text/javascript">
var dvTest=document.getElementById("<%=dvTest.ClientID %>");//使用服务器端代码获取这个gridview的客户端id
var Flag=1;
function AddRow()
{
if(dvTest)
{
var row=dvTest.insertRow();
row.insertCell(0).appendChild(document.createTextNode("这是js插入的第"+Flag+"-1列"));
row.insertCell(1).appendChild(document.createTextNode("这是js插入的第"+Flag+"-2列"));
Flag++;
}
else alert("找不到这个Html控件!");
}
</script>
</body>
</html>
再把 DataTable 给 GridView
而是用<asp:Button ID="btnAdd1" runat="server"
所以如果我用这个控件的话,那么就会运行服务器的