怎么在datagrid里实现就地编辑,修改数据呢?
怎么在datagrid里实现就地编辑,修改数据呢?我想在datagrid里的按删除.编辑按钮后在datagrid里直接修改,保存数据.谢谢! 问题点数:30、回复次数:25Top
1 楼baitianhai(hong)回复于 2002-10-25 19:58:02 得分 0
这种文章好多书上都有的啊,msdn里也有的啊Top
2 楼tangny(tangny)回复于 2002-10-25 20:01:44 得分 0
我的机上查msdn挺麻烦的,可以提示一下吗?Top
3 楼castaway()回复于 2002-10-25 20:05:39 得分 0
在dataGrid里面添加templateColumn,在里面添加editItemTemplate.Top
4 楼tangny(tangny)回复于 2002-10-25 20:54:18 得分 0
这我已经添加,但只有编辑和删除按钮,用那些属性使datagrid在网格中用dropdownlist或者textbox编辑数据呢?Top
5 楼lixigang(真诚)回复于 2002-10-25 22:37:34 得分 0
编辑模板列时将dropdownlist拖到模板列中就可以了Top
6 楼tangny(tangny)回复于 2002-10-25 23:01:26 得分 0
我已拖了, 还有啥设置属性吗?但我运行按编辑按钮还是不行! 请指教Top
7 楼xzygod(急风知劲草)回复于 2002-10-26 03:04:46 得分 20
DataGrid.EditItemIndex 属性,默认是-1,你赋一个你要编辑的item的indexTop
8 楼tangny(tangny)回复于 2002-10-26 08:55:53 得分 0
非常感激你晚上3点多钟来回答我的问题,如果我想编辑多个item那如何呢?Top
9 楼xzygod(急风知劲草)回复于 2002-10-26 13:33:33 得分 0
好像只能同时编辑一个,要不自己写代码控制而不用datagrid提供的功能Top
10 楼tangny(tangny)回复于 2002-10-26 13:35:38 得分 0
我加了这语句,sub datagrid1_editcomand(sender,e)
datagrid1.edititemindex=e.item.itemindex
datagrid1.databind
end sub
曾经试过行的,按"编辑键"后出现update","cancel"了,datagrid列也出现文本框,后来我设置格式还是怎么的,后来按"编辑键"不出现"update","cancel"了,现怎么也不再出现了,why?why?我新建重新试,还是一样不行.多多指教!非常感激!Top
11 楼xzygod(急风知劲草)回复于 2002-10-26 13:38:52 得分 0
看看是不是事件绑定弄丢了Top
12 楼tangny(tangny)回复于 2002-10-26 13:49:58 得分 0
我现在用了一个最简单的例子来试,pus.authors:
建一个webform,拖拉pubs.authors,生成数据集,放一个datagrid,设置datasource,datamember,datakeyid,在属性生成器里添加按钮列"edit","update","cancel",设置编辑列格式,后输入代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SqlConnection1.Open()
SqlDataAdapter1.Fill(DataSet11, "authors")
DataGrid1.DataSource = DataSet11.authors
DataGrid1.DataKeyField = "au_id"
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
End Class
还是不行,是否漏了哪个步骤呢?Top
13 楼xzygod(急风知劲草)回复于 2002-10-26 13:53:59 得分 0
"Web Form Designer generated code"区域里面的系统自动生成的代码中的事件绑定是不是没了Top
14 楼tangny(tangny)回复于 2002-10-26 13:57:56 得分 0
那些代码是有,没有贴上而已! 步骤对吗? 按了"edit"后,只是闪一下而已,"update"和"cancel"不出来, 但我曾试过行的, 现搞了两天了还是不行,为何呢?Top
15 楼xzygod(急风知劲草)回复于 2002-10-26 14:02:53 得分 0
单步调试,看看有没有执行到DataGrid1_EditCommandTop
16 楼angel_lee(随风而逝)回复于 2002-10-26 14:03:23 得分 5
你在web form designer gererated code 区域中属性旁边,有个事件(闪电)状,点击后,加入editcommand,cancelcommand,updatecommand事件,就可以了。Top
17 楼kinglht(爱新觉罗至尊宝)回复于 2002-10-26 14:04:38 得分 5
关联的editCommand,UpdateCommand,CancelCommand丢了,重新关联一下!!Top
18 楼tangny(tangny)回复于 2002-10-26 14:44:13 得分 0
可以把步骤写一下吗?谢谢!Top
19 楼tangny(tangny)回复于 2002-10-26 14:46:06 得分 0
噢,现在新建一个有行了, 究竟为何有时又不行呢?Top
20 楼xzygod(急风知劲草)回复于 2002-10-26 14:53:34 得分 0
你一定是把事件弄丢了
Top
21 楼tangny(tangny)回复于 2002-10-26 15:06:04 得分 0
谢谢!Top
22 楼tangny(tangny)回复于 2002-10-26 15:06:53 得分 0
如何把事件加上?Top
23 楼xzygod(急风知劲草)回复于 2002-10-26 15:16:50 得分 0
重新定义事件,然后把Web Form Designer generated code中事件关联的方法改为原来的方法Top
24 楼tangny(tangny)回复于 2002-10-26 15:53:52 得分 0
问题已解决!谢谢各位!Top
25 楼tingningpower(听宁)回复于 2002-11-02 06:29:16 得分 0
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script Language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
string strConnection, strSQL;
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = null;
OleDbDataAdapter objAdapter = null;
OleDbCommandBuilder objBuilder = null;
// Set the connection and query details
strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=\\genfs1\www11\etning\xml\Northwind.mdb";
strSQL = "SELECT FirstName, LastName FROM Employees;";
objConnection = new OleDbConnection(strConnection);
objAdapter = new OleDbDataAdapter(strSQL, objConnection);
objAdapter.Fill(objDataSet, "Employees");
dgNameList1.DataSource = objDataSet.Tables["Employees"].DefaultView;
dgNameList1.DataBind();
// -----------------------------------------------------------------
// Marker 1
DataTable objTable;
DataRow objNewRow;
objTable = objDataSet.Tables["Employees"];
objNewRow = objTable.NewRow();
objNewRow["FirstName"] = "";
objNewRow["LastName"] = "";
objTable.Rows.Add(objNewRow);
// Bind the data grid to the new data
dgNameList2.DataSource = objTable.DefaultView;
dgNameList2.DataBind();
// -----------------------------------------------------------------
// Marker 2
DataRow[] objRows;
// Find the row to change
objRows = objTable.Select("FirstName='Margaret' AND LastName='Peacock'");
objRows[0]["FirstName"] = "";
objRows[0]["LastName"] = "";
// Bind the data grid to the new data
dgNameList3.DataSource = objTable.DefaultView;
dgNameList3.DataBind();
// -----------------------------------------------------------------
// Marker 3
// The Rows collection is 0 indexed, so this removes the sixth row
objTable.Rows[5].Delete();
// Bind the data grid to the new data
dgNameList4.DataSource = objTable.DefaultView;
dgNameList4.DataBind();
}
</script>
<html>
<body>
<table width="100%">
<tr>
<td>Original Data</td>
<td>Data with new Row</td>
<td>Data with edited Row</td>
<td>Data with deleted Row</td>
</tr>
<tr>
<td valign="top"><asp:DataGrid id="dgNameList1" runat="server" /></td>
<td valign="top"><asp:DataGrid id="dgNameList2" runat="server" /></td>
<td valign="top"><asp:DataGrid id="dgNameList3" runat="server" /></td>
<td valign="top"><asp:DataGrid id="dgNameList4" runat="server" /></td>
</tr>
</table>
</body>
</html>
Top
相关问题
- 可以在Datagrid中编辑修改数据吗?
- 使用DataGrid模板进行数据修改但是不出现可编辑框
- 我修改了datagrid某列编辑框的值,获取之后,存到数据库中的还是原来的,?/
- DataGrid编辑数据的问题
- datagrid的有编辑列可以做到修改数据,他还可以做到添加或删除列数据吗?
- 能否通过程序编辑、修改数据库?
- 数据窗口中的数据不能修改,编辑,怎么办?
- DataGrid修改数据问题
- 急~~~~ 请问为什么我在DataGrid中使用了模版列来做对DataGrid直接进行编辑 为什么他读出来的数据不是我修改的数据而是原来数据库的呢
- 急~~~~ 请问为什么我在DataGrid中使用了模版列来做对DataGrid直接进行编辑 为什么他读出来的数据不是我修改的数据而是原来数据库的呢




