C#2005中,怎样判断DataGrid有无内容 假如,DataGrid已经绑定到数据源,但是没有内容,这时程序应该怎样判断它有无内容?例如,有一个 查看详细信息按钮 当点击此按钮时,如果DataGrid中有内容,则显示DataGrid选中一行的详细内容,如果DataGrid没有内容,会有弹出对话框,此时,怎样判断他没有内容? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接判断DataSource里面有没有数据不是更好吗??datasource.rows.count==0 then 有一个 查看详细信息按钮 当点击此按钮时,如果DataGrid中有内容,则显示DataGrid选中一行的详细内容你的意思是不是说在每行中都有个查看详细信息按钮,当点击某行的按钮时,就表示选中了该行,对吧?那你都可以选择了(或者说显示了按钮),那说明这行已经有数据了,就不用判断了,可以这样理解吗?如果我理解错了的话,那你就可以直接对数据源进行判断了,就像一楼说的一样,如果是用DataSet的话就是DataSet.Tables[0].Rows.count>0不就可以了。 恩DataSet.Tables[0].Rows.count>0可以 准确的来说你应该判断DateSet(数据集),而不是判断DateGrid的DateSource(数据源)//判断DateSet是否为空if(DateSet!=null){ DateGrid.DateSource = DateSet; if(DataSet.Tables[0].Rows.count>0) { //你要做的处理方式 }//DataSet中有数据 else { //你要做的处理方式 }//DataSet无数据 //绑定DataGrid this.DataGrid.DataBind();}//DateSet不为空else{ //弹出提示框系统错误}//DataSet为空 准确的来说你应该判断DateSet(数据集),而不是判断DateGrid的DateSource(数据源)//判断DateSet是否为空if(DateSet!=null){ DateGrid.DateSource = DateSet; if(DataSet.Tables[0].Rows.count>0) { //你要做的处理方式 }//DataSet中有数据 else { //你要做的处理方式 }//DataSet无数据 //绑定DataGrid this.DataGrid.DataBind();}//DateSet不为空else{ //弹出提示框系统错误}//DataSet为空 判断绑定源dataset/datatable或者脚本判断var trs = doucment.getElementById("datagrid1").getElementsByTagName("tr");if(trs.length<2)alert("没有内容"); DataSet.Tables[0].Rows.count 就是你现在DataGrid的行数我现在习惯了判断DataSet 直接去判断与DataGrid关联的DataSet即可 if(dataGrid1.Rows.Count> 0){ //获取dataGrid1选中的详细信息}else{ MessageBox.Show("没有内容"); } 从数据源考虑 也可以直接使用DataGrid提供的相应属性 说的对,没数据时引用会引发异常,我只是提供一种不同的方法,当然最简单还是判断GridView1.Rows.Count try { if (GridView1.Rows[0] == null) { Response.Write("<script>alert('GridView1 is null')</script>"); } } catch(Exception ex) { Response.Write("<script>alert('GridView1 is null')</script>"); } Gridview1.Rows.Count 获取GridView的行数 分店如何上传数据到总店 (winform) windows服务的2个问题 10位数以内的水仙花数 C#外部调用非托管DLL问题太纠结在WINXP下一切正常WIN7报内存出错 看别人的代码,学自己的习! .net2005 新建网站无法Release Convert.ToString(dr["oi_VNO"])与(string)dr["oi_VNO"])的区别? 小妹是初学者,请各位大哥帮忙!!很简单的问题!! 多线程读DataTable时出现DataReader错误! 改变tabControl的标签颜色 (急)为什么xml添加节点无用 BS结构的程序,嵌套在CS程序中,有什么需要注意的吗?
有一个 查看详细信息按钮 当点击此按钮时,如果DataGrid中有内容,则显示DataGrid选中一行的详细内容你的意思是不是说在每行中都有个查看详细信息按钮,当点击某行的按钮时,就表示选中了该行,对吧?
那你都可以选择了(或者说显示了按钮),那说明这行已经有数据了,就不用判断了,可以这样理解吗?
如果我理解错了的话,那你就可以直接对数据源进行判断了,就像一楼说的一样,如果是用DataSet的话
就是DataSet.Tables[0].Rows.count>0不就可以了。
DataSet.Tables[0].Rows.count>0
可以
if(DateSet!=null)
{
DateGrid.DateSource = DateSet;
if(DataSet.Tables[0].Rows.count>0)
{
//你要做的处理方式 }//DataSet中有数据 else
{
//你要做的处理方式
}//DataSet无数据 //绑定DataGrid
this.DataGrid.DataBind();}//DateSet不为空
else
{
//弹出提示框系统错误
}//DataSet为空
if(DateSet!=null)
{
DateGrid.DateSource = DateSet;
if(DataSet.Tables[0].Rows.count>0)
{
//你要做的处理方式 }//DataSet中有数据 else
{
//你要做的处理方式
}//DataSet无数据 //绑定DataGrid
this.DataGrid.DataBind();}//DateSet不为空
else
{
//弹出提示框系统错误
}//DataSet为空
或者脚本判断
var trs = doucment.getElementById("datagrid1").getElementsByTagName("tr");
if(trs.length<2)alert("没有内容");
if(dataGrid1.Rows.Count> 0)
{
//获取dataGrid1选中的详细信息
}else
{
MessageBox.Show("没有内容");
}
{
if (GridView1.Rows[0] == null)
{
Response.Write("<script>alert('GridView1 is null')</script>");
}
}
catch(Exception ex)
{
Response.Write("<script>alert('GridView1 is null')</script>");
}