有没有办法在DataGrid根据当前行的内容(某个键值)在别的数据表再进行搜索得出结果(此结果是多个值),注意,每个行都要自动搜索,而且一并显示在此DadaGird的模板列中想了一整天,也不知道怎么办,解决了100分送上,决不食言!
解决方案 »
- 请教一个网站防止机器注册的问题
- .net Vs2008发布问题 求教高手
- .net二进制图片显示问题
- 自定义控件时,我想把一个htmltable的属性一次性全加上,如下写,可是加载控件时属性显示出来了,但设了没用,应该怎么做?
- datagrid中实现批量删除时不能向上返页问题?
- [醒目]200分 水晶报表中控制行数的方法~~~
- URL中的#字符如何转义,http://localhost/c#文章.txt如何访问?
- 如何给服务器上一个目录改名称?
- 请教一个取网卡mac地址的问题。。
- 各位asp.net同仁们,判断某一字段为空,应用什么命令???
- (加急)关于Session和Cookie的两个问题
- 我要崩溃了,高手进来帮忙,这到底是怎么回事啊?
——————————————————————
这个你可以注册DataGrid的ItemDataBind事件啊
Bind完之后能区分Datakey但区分不了每排DropDownListto skytear()
有没有这个的例子?MSDN上关于这个事件的好像都是移动控件的
以前都是整个DataGrid绑定的,还真没见过逐个ItemBind的
this.dgmargin.ItemDataBound += new (后面的自动会产生,记不清楚了)
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 138: cmdSelect2.Parameters.Add("@strItemID" , strItemID);
行 139: dtrAuthor=cmdSelect2.ExecuteReader();
行 140: dropAuthor.DataSource=dtrAuthor;
行 141: dropAuthor.DataBind();
行 142: cn2.Close();
正确的做法,应该是在SQL里面进行构造
你可先在数据库中写一个函数,此函数根据某ID求取相应的数据(多行),并且取得多行数据形成带格式的文本串(比如用逗号隔开),然后,在SQL里面就可直接调用,比如
sql = "select id,title,getstr(id) content from table";如此,直接求取出来,直接进行绑定,事情就变得简单多了.还有一种方法,那就是在页面中绑定进行求取.
比如你在某个LABEL中进行如下绑定
<asp:Label Text='<%# getstr(DataBinder.Eval(Container.DataItem, "id").ToString()) %>' runat=server></asp:Label>
然后在后台代码里面,写一个getstr(string id)函数,这样,也可以
如果是的话
解决的方法是在后台写select语句的时候,用sql语句选择两个表的数据不是就行了吗?然后在绑定在DataSet里面形成一个新的表显示在DadaGird中!
论文号 论文名字表2
论文号 作者ID表3
作者ID 作者名字给你个大概例子吧,当然也可以不按这个写,反正我看得懂就行,一个论文可以由多个作者合作的,我自己写的搜索语句如下
select 作者姓名
FROM (论文信息 inner join 论文发表
ON 论文信息.序列号 = 论文发表.序列号)
inner join 作者信息
ON 作者信息.ID = 论文发表.ID
where 论文信息.序列号=@selectItemID
如果用你的方法,上面的作者姓名当然要改成*啦,主要帮我解决作者姓名字段的值搜索出来之后怎样用分隔符号隔开就行了
我要上学去,回来再看了,谢谢!
这样搜索出来的结果,相同的论文如果有2个作者,就会变成2项,这样明显不对的,我要把2个作者放在一起,同一个论文只能有一项,所以是比想象中麻烦一点的
因此我尝试了用序列号值再搜索一次,虽然麻烦,但也算成功了...
正在学习找个符号分隔中,我想这种办法也不错
l_Result varchar2(32767);
BEGIN
--根据所传递的事故报表代码ID获取带逗号分隔的事故报表代码名称
FOR x IN (SELECT cod_name FROM rpt_code WHERE cod_id IN(scod_id)) LOOP
l_Result := l_Result || ',' || x.cod_name;
END LOOP; l_Result := substr(l_Result, 2);
return(l_Result);
end f_GetCodeNameByID; 你可参考SQLSERVER里面的写法,或去问数据库版的人求取此种类似写法.