如题:
解决方案 »
- [Convert和Parse到底哪個效率高]
- 请问大从,ASP.NET是用验证控件好还是用js来验证好些?
- DataTable.Select问题
- 如何取得用户控件中的值?
- silverlight datagrid 怎么添加 自动序列号列? 在前台怎么绑定?
- 使用asp.net前台编码开发方法的页面,需要改页面效果,是否有好的安全的方法?
- 跪求~~~~~~~~先跪了~
- 根据数据库中的主子关系创建网页级联菜单
- OleDbDataReader怎样才能读取数据?
- 在线等待:调用水晶报表,提示无法找到密钥号码 dll 或密钥号码无效
- 页面全局变量访问的问题!!!
- 如何将response.write的内容写道指定的地方?比如panel里?
datagrid中的所有数据都是用程序赋给的,包括数据源样式等!
不过测试时要先建立一个自己的数据表和数据库,建表的sql语句也在内,在WebForm9.aspx中修改数据库连接字符串。
<HeaderStyle Width="200px"></HeaderStyle>
<ItemStyle BackColor="#E5F7FF"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NoticeAuthor") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NoticeAuthor") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>在ItemIndexchange事件里调用EditCommand事件可以实现单击可编辑,双击没试过.....
**_ondblclick(int RowId, int ColumnsID)RowID -- 行号
Columns -- 列号在双击时把行号与列号传回服务器服务器根据传回的参数在单元格中添加一个Textbox
我做过一个,页面添加三个掩藏控件,两个TEXTBOX用于存放你点击DATAGRID的行号和单元格号,一个是按钮用于提交页面1。单元格添加双击事件,双击使的该行变颜色,脚本中用一个按钮提交页面(不要用SUBMIT,不然你不能适得它处于编辑)
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.AlternatingItem Or _
e.Item.ItemType = ListItemType.SelectedItem Then
Dim i As Integer
For i = 0 To e.Item.Cells.Count - 1
e.Item.Cells(i).Attributes.Add("onclick", "javascript:return doublecl('" & e.Item.ItemIndex + 1 & "','" & i & "');")
Next
//隐藏的控件
If TextBox2.Text = CStr(e.Item.ItemIndex + 1) Then
'e.Item.BackColor = Color.FromName("#cccfcc")
e.Item.BackColor = Color.Red
End If
End If
客户端脚本:
function doublecl(e,i)
{ if (confirm("are you sure delete " + e + "?"))
{ document.getElementById("TextBox2").value=e;
document.getElementById("TextBox3").value=i;
document.getElementById("hideIDdelete").click(); }
}
然后在hideIDdelete的事件在写一个DATAGRID绑定,
Private Sub hideIDdelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hideIDdelete.Click
If TextBox2.Text <> "" Then
DataGrid1.EditItemIndex = CInt(TextBox2.Text)
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataSource = DataSet11.Tables(0)
DataGrid1.DataBind()
End If
End Sub
你不过还要在DATAGRIDITEMCREATE是加一个代码
If -1 < DataGrid1.EditItemIndex _
And DataGrid1.EditItemIndex = e.Item.ItemIndex Then
For i As Integer = 0 To e.Item.Cells.Count - 1 If TextBox3.Text <> "" Then
If i <> CInt(TextBox3.Text) Then
e.Item.Cells(i).Text = "" '这里是你要放的数据
End If
End If
Next
End If具体的你可以试试,我做的没有问题
If i <> CInt(TextBox3.Text) Then
e.Item.Cells(i).Text = "" '这里是你要放的数据
End If
如果你还要放原来的值,好象也可以取的到的,
谢谢!!!
调试中!!!!!!!!
http://blog.csdn.net/czhenq/archive/2004/09/24/115908.aspx我刚弄的
[email protected]