DataGrid中用超级链接列,在模板向导中设置
解决方案 »
- 参数里面的 '?'
- webbrowser如何禁止弹窗
- 求教提条正则:取出“<A href="1">A1</A><A href="2">A2</A><A href="3">A3</A>” 中的"a1,a2,a3"并保存到数组中。
- 2005引用2003dll的问题
- IIS更新不了新发布的ASP.NET页面,怎么解决啊?[救命]
- 急,如何删除自己创建的windows服务?
- (webform)怎样在datagrid显示的每行数据前加一个图标.感谢感谢!
- DEV GridControl控件显示图片
- .net求职
- 请教各位高手,如何用C#获取视频采集卡的动态图像信息,分不够,另加!
- 作品,请大家多多批评指正,讨论提高,可以公开部分算法
- SqlDataAdapter.Update的常识问题?
你好你好,我已经在DataGrid中设好了这一项,现在主要是不知道这样在连接到的这一页怎样根据ID号绑定数据,而且根据不同的ID好绑定不同的数据,请多多赐教,谢谢
this.DataGrid1.DataKeyField=cashtbl.columnName["id"];
//然后超链列通过id参数链接
((HyperLinkColumn)this.DataGrid1.Columns[0]).DataNavigateUrlFormatString="CashFlowInputForm.aspx?oid={0}&isnew=1";
request["id"]是在detail.aspx的pageload中写吗?
能不能告诉我怎么在detail.aspx.cs中写完整的绑定代码。谢谢!
你好,请问这段代码写在哪个页面的哪个位置?我开始一看你的代码有点迷糊,能不能给我一个具体的代码环境?我现在主要是不知道在点击超级连接弹出的窗口中怎样写代码,能不能帮帮我?谢谢!
if(!IsPostBack)
{
//your code
}
中。
string userid = Request["id"].ToString();
然后是你的数据绑定语句,一般如下:
string sqlStr = "SELECT * FROM YOURTABLE WHERE ID字段 = @userid"
SqlConnection myConn = new SqlConnection(connStr);
SqlDataAdapter myDA = new SqlDataAdapter(sqlStr,myConn);myDA.SelectCommand.Parameters.Add("@userid",SqlDbType.你的id字段类型,长度);
myDA.SelectCommand.Parameters["@userid"].Value = userid;
DataSet myDS = new DataSet();
myDA.Fill(myDS,"YOURTABLE");你的数据绑定控件.DataSource = myDS.Tables["YOURTABLE"].DefaultView;
你的数据绑定控件.DataBind();
在弹出的窗口中,你可以获取id,然后根据获取的id再查询
oid=Request.QueryString["oid"].Trim();
isnew=Request.QueryString["isnew"].Trim();
Label1.Text=icount;
int Count=int.Parse(icount);
// this.DBopen();
string strSql=@"SELECT * FROM mytable WHERE icount=@icount";
string strSql2="SELECT * FROM mytable WHERE icount='" + Count.ToString()+"'";
DataTable tb=this.DBQuery(strSql2);
TextBox11.Text=tb.Rows[0]["Employeename"].ToString();
TextBox8.Text=tb.Rows[0]["Logoid"].ToString();
TextBox4.Text =tb.Rows[0]["Telephone"].ToString();
TextBox6.Text=tb.Rows[0]["Mobilphone"].ToString();
TextBox5.Text=tb.Rows[0]["Fax"].ToString();
string @strEmployeeid=tb.Rows[0]["Employeeid"].ToString();
int Employeeid=int.Parse(@strEmployeeid);
// this.DBopen();
string strSql=@"SELECT * FROM mytable WHERE Employeeid='"+Employeeid.ToString()+"'";
DataTable tbl=this.DBQuery(strSql);
TextBox11.Text=tbl.Rows[0]["Employeename"].ToString();
TextBox7.Text=tbl.Rows[0]["Homeaddress"].ToString();
TextBox10.Text=tbl.Rows[0]["Email"].ToString();
TextBox2.Text=tbl.Rows[0]["Dname"].ToString();
TextBox1.Text=tbl.Rows[0]["Age"].ToString();
//if(tbl.Rows[0]["property"].ToString()=="1") property.Text="";
//else property.Text="";我想用使用以上的这段代码来实现我所需要的功能,我是想点击超级连接后可以到这个窗体,这个窗体的信息又是存于另一个与开始的DataGrid不同的数据表,而表中的信息是在不同的控件中显示出来,以上的数据字段都是库表中的字段,但是实现不了,不知道这段代码什么地方错了,请继续指点迷津,谢谢。
<asp:BoundColumn DataField="ForumId" SortExpression="LastVisitDate" HeaderText="ID">
<HeaderStyle Width="5px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn Visible="False" DataField="ForumName" SortExpression="ForumName"></asp:BoundColumn>
<asp:TemplateColumn SortExpression="LastVisitDate" HeaderText="Last visit">
<HeaderStyle Width="400px"></HeaderStyle>
<ItemTemplate>
<asp:HyperLink id="hlForum" NavigateUrl='<%# "ForumDetail.aspx?ForumId=" + Server.UrlEncode(DataBinder.Eval(Container.DataItem, "ForumId").ToString()) %>' Runat="server">
<%#Server.HtmlEncode(DataBinder.Eval(Container.DataItem, "ForumName").ToString()) %>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>