首先在窗体上放个datagrid控件,让后点反键,再选属性生成器。
然后选择列。。将最上边的
复选框(在运行时自动创建列)里的√去掉。
然后在
可用列
中选择超连接列然后添加到
选定的列中去。。
然后就可以设置这个列(也就是你添加的超连接列)的属性了。。
属性:
文本字段:表示你想要帮定表中的那个字段名
url字段:表示你跳转到别的页面时希望传过去的值(这里写字段名)
url格式字符串:表示你要跳转到哪个页面。例如:xxx.aspx?参数名={0}
(参数名可以自己取,{0}估计是的占位符,运行时将会被上边设置的url字段中的值所代替)
目标:一般都选_blank
这样就可以了。。。。然后开始写代码
导入个命名空间
using
System.Data.SqlClient
在窗体的Page_load()
里边写。。。
if(!Page.isPostBack)
{
sqlconnection
con=new
sqlconnection("Server=.database=数据库名uid=sapwd=sa")
sqlcommand
cmd=new
sqlcommand("select
*
from
表名",con)
con.open()
SqlDataReader
sdr
=
cmd.ExecuteReader()
dg.datasource=sdr
dg.dataBind()//dg是DataGrid,我这只是简单的用dg表示一下
sdr.close()
con.close()
}
例如:有个表叫Users,里边有两个字段(id,name)。。你想把name设置成超连接就按着我刚刚说的。。把那个文本字段设置成name。把URL字段设置成id,
把URL格式字符串设置成aaa.aspx(这里写你想跳转的页面)?参数名={0};
你在aaa.aspx里就用Request.QueryString["参数名"]来得到你传过来的那个id的值了。假如表中不只一行数据。。这样做这样就可以判断你点的是哪一行。。
假如id字段是这个表的主键,在其他表是外键,这样你得到id的值了就可以在你跳转到的页面对其他相应的表做 *** 作了。。。
就是这样啦。。。。
我估计说的不太清楚。。。
你自己再试试。。。
//将当前
datagridview
实例的
datasource
转换成
datatable
datatable
dt
=
datagridview.datasource
as
datatable
//
if
(dt
==
null)
return
//空数据
不再执行
dt.acceptchanges()
sqldataadapter
da
=
new
sqldataadapter("select
*
from
表名",
"连接字符串")
//
这边的
select
语句要和
你
从数据库获取数据并显示到
datagridview
的一样!
//根据当前
创建
update命令
sqlcommandbuilder
builder
=
new
sqlcommandbuilder(da)
//获得可以用来更新数据源
的
update
命令
da.updatecommand
=
builder.getupdatecommand(true)
//将数据更新回
数据库!
da.update(dt)
请采纳答案,支持我一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)