private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection myConnection; myConnection = new SqlConnection("server=localhost;uid=hgx;password=hgx;database=pubs;Trusted_Connection=yes");
if (!IsPostBack)
{SqlDataAdapter myCommand = new SqlDataAdapter("select distinct State from Authors", myConnection);DataSet ds = new DataSet();
myCommand.Fill(ds, "States");
MySelect.DataSource= ds.Tables["States"].DefaultView;
MySelect.DataTextFiled="列名";
MySelect.DataBind();
}
}
{
SqlConnection myConnection; myConnection = new SqlConnection("server=localhost;uid=hgx;password=hgx;database=pubs;Trusted_Connection=yes");
if (!IsPostBack)
{SqlDataAdapter myCommand = new SqlDataAdapter("select distinct State from Authors", myConnection);DataSet ds = new DataSet();
myCommand.Fill(ds, "States");
MySelect.DataSource= ds.Tables["States"].DefaultView;
MySelect.DataTextFiled="列名";
MySelect.DataBind();
}
}
解决方案 »
- datalist中textbox取值问题,急
- 求助:DataSet填充问题,总提示出现 OutOfMemoryException,如何解决?代码在内,请大家看看,谢谢!
- 关于上传控件的在弹出对话框之后保留里面的值的问题,知道的方法的请进。
- 怎么判断Skype和雅虎通是否在线?
- 为什么文件框(TextBox)里的汉字,取出来都变成"?"了? 英文都可以
- 多字段求和绑定?
- textbox的字符串插入问题
- aspx页面报错?未将对象引用设置到对象的实例
- 在vs.net中能不能不用打代码就做好一个留言本?
- 哪里有SDK正式版下载,高分
- 怎么用datagrid显示数据。
- 如何在cs文件中获取页面上用javascript产生的值
</select>这是我的select的写法,
列名我这样写,提示错误,MySelect.DataTextFiled="state";我这样写不对吗?
大写啊!
好像还少了MySelect.DataValueFiled="列名"
MySelect.DataTextFiled=ds.Tables["States"].Columns[6].ToString();
这是我写的
源错误:
行 24:
行 25: MySelect.DataSource= ds.Tables["States"].DefaultView;
行 26: MySelect.DataTextFiled=ds.Tables["States"].Columns[6].ToString();
行 27:
行 28: MySelect.DataBind();源文件: http://localhost:6688/0617/myselect2.aspx 行: 26
MySelect.DataTextField吧
那应该是
MySelect.DataValueField=ds.Tables["States"].Columns[6].ToString();
你自已試著做看看,如有問題,再問我.當你把數據綁定到Dropdownlist后,在DataGrid中顯示選定的作者的內容就比較簡單了.Good Luck!<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %><script language="VB" runat="server">
dim MyConnection as OleDbConnection
dim cmdSelect as OleDbCommand
dim dtrReader as OleDbDataReader
Sub Page_load(sender as object,e as Eventargs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/datagrid.mdb") 'Myconnection.close 'when the database is opened.
if not IsPostBack() then
DropDownList_BindGrid() 'bind dropdownlistr
end if
End SubSub DropDownList_BindGrid()
CmdSelect=new OleDbCommand("select * from class order by id",MyConnection)
MyConnection.Open()
dtrReader=CmdSelect.ExecuteReader() dropnews.DataSource=dtrReader
dropnews.DataTextField="bigclass"
dropnews.DataValueField="bigclassid"
dropnews.DataBind()
dtrReader.Close()
MyConnection.Close()
End SubSub Dropnews_SelectedIndexChanged(s as Object,e as EventArgs)
Response.write(dropnews.SelectedValue)
Response.write("<BR>")
Response.write(dropnews.SelectedItem)
End Sub
</script><form Runat="server">
<asp:dropdownlist id="dropnews" AutoPostBack="true" OnSelectedIndexChanged="dropnews_SelectedIndexChanged" runat="server"/>
</form>
我改成上面的,怎么提示:
异常详细信息: System.IndexOutOfRangeException: 无法找到列 6。
源错误:
行 24:
行 25: MySelect.DataSource= ds.Tables["States"].DefaultView;
行 26: MySelect.DataTextField=ds.Tables["States"].Columns[6].ToString();
行 27:
行 28: MySelect.DataBind();
源文件: G:\jsb\0617\myselect2.aspx 行: 26
DataTextFiled,你用的不是VS.NET么?代码完全手写么?你的错误都是有点因为自己想当然的错误.
MyDataGrid.DataTextField = "UserName";//UserName为你要显示的字段名
MyDataGrid.DataValueField = "UserId";//为你要选中返字段值的字段名。
MyDataGrid.DataBind();
MySelect.DataTextField = "TextField";//TextField为你要显示的字段名
MySelect.DataValueField = "ValueField";//为你要选中返字段值的字段名
MySelect.DataBind();
源错误:
行 25: MySelect.DataSource= ds.Tables["States"].DefaultView;
行 26: MySelect.DataTextField="State";
行 27: MySelect.DataValueField=ds.Tables["States"].Columns[6].ToString();
行 28: MySelect.DataBind();
源文件: G:\jsb\0617\myselect2.aspx 行: 27
总是说第6列错误,这个数据表就是sql server自带的呀,数据库为pubs,数据表为authors,state确实为第六列呀!
MySelect.DataValueField=ds.Tables["States"].Columns[6].ToString();
改成
MySelect.DataValueField=“state”;
就好了,可是用原来的那个就不行,奇怪?
看了你或许就明白怎么回事了,还是那句话,有些东西在你没理解前,你有点想当然了.