像这样的 DropDownList控件 http://dev3.dev.pmcc.cn/123.aspx 如何实现DropDownList1第一个选项不是绑定数据库中字段,
其余的选项都是绑定数据库中的字段和根据不同情况加一些特殊这字符组成。
其余的选项都是绑定数据库中的字段和根据不同情况加一些特殊这字符组成。
解决方案 »
- 急 急急 急 水晶报表中条形码的问题
- {顶者有分}关于设计思路的思考-逻辑控件
- 高分,求更改图片颜色!
- GridView动态绑定WEBSERVICE的URL
- 关于Max()函数在数据库里的问题
- 如何用.net和C#取得远程浏览我的网页的用户的ip地址,很急的,谢谢.
- webservice中,一个函数返回DataSet类型的值,但是在调用方却出现“无法获取类型的值”的错误?
- 一个关于VS.NET的问题,很迷茫!请指点1,2
- c#返回字符串怎么样才能用jquery1.4转换成json对象
- ASP.NET中的IIS怎么配啊~~~~~~~~
- 求2个问题的思路,做过新闻系统的朋友来一下!
- 请教一个datagrid的问题。
绑定很简单
有两种方法:
1、给DropDownlist指定数据源,再分别给DropDownList的DataTextField和DataValueField分别指定相应的字段,最后绑定。
2、根据数据源做一个循环,用DropDownList.item.add来添加
litem.text=youvalue;
litem.value=youvalues
DropDOwnList.items.add(litem)
类似这样一条一条的加就可以了
DropDownList1.Items.Add(0,new ListItem("txt","value"))
DropDownList1.Items.Insert(new ListItem("ALL","ALL"));再给个这样的例子
/// <summary>
///绑定到下拉框
/// </summary>
/// <param name="ddl">需要绑定的下拉框控件</param>
/// <param name="v_table">数据表名</param>
/// <param name="v_id">表示编号的字段名</param>
/// <param name="v_name">表示名称的字段名</param>
/// <param name="v_pid">表示父节点编号的字段名</param>
/// <param name="v_depth">表示深度的字段名</param>
/// <param name="v_flag">表示标识的字段名</param>
/// <param name="v_maxdepth">最大深度</param>
/// <param name="v_searchField">查询字段名</param>
/// <param name="v_searchValue">查询字段的值</param>
public static void BindDropTree(DropDownList ddl, string v_table, string v_id, string v_name, string v_pid, string v_depth, string v_flag, int v_maxdepth,string searchField,string searchValue)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(String.Concat("SELECT t.", v_id));
stringBuilder.Append(String.Concat(",t.", v_name));
stringBuilder.Append(String.Concat(",t.", v_pid, ",t.", v_depth));
stringBuilder.Append(String.Concat(" FROM ", v_table));
stringBuilder.Append(String.Concat(new object[]{" t where t.", v_depth, "< ", v_maxdepth," and t.",searchField,"=",searchValue, " and not exists (SELECT * FROM ", v_table}));
string[] strs = new string[]{" s where t.", v_id, " = s.", v_id, " START WITH s.", v_id};
stringBuilder.Append(String.Concat(strs));
stringBuilder.Append(String.Concat(" in (select ", v_id, " from ", v_table));
stringBuilder.Append(String.Concat(" where ", v_flag, "=0) CONNECT BY PRIOR s.", v_id));
strs = new string[]{" = s.", v_pid, ") START WITH t.", v_pid, " = 0 CONNECT BY PRIOR t.", v_id};
stringBuilder.Append(String.Concat(strs));
stringBuilder.Append(String.Concat(" = t.", v_pid));
XsStudio.MiscUtilities.BindSource(ddl, stringBuilder.ToString());
Database database = new Database();
DataTable dataTable = database.GetDataTableFromSQL(stringBuilder.ToString());
ddl.DataSource = dataTable;
ddl.DataBind();
for (int i = 0; i < dataTable.Rows.Count; i++)
{
if (Convert.ToInt32(dataTable.Rows[i][3]) > 1)
{
string str = "";
for (int j = 0; j < Convert.ToInt32(dataTable.Rows[i][3]) - 2; j++)
{
str = ddl.Items[i - 1].Text.Substring(0, Convert.ToInt32(dataTable.Rows[i - 1][3]) - 1);
str = str.Replace("\u2514", "\u3000");
str = str.Replace("\u251c", "\u2502");
}
if (IsLastItem(i, Convert.ToInt32(dataTable.Rows[i][3]), dataTable))
{
ddl.Items[i].Text = String.Concat(str, "\u2514", dataTable.Rows[i][1].ToString());
}
else
{
ddl.Items[i].Text = String.Concat(str, "\u251c", dataTable.Rows[i][1].ToString());
}
}
}
ddl.Items.Insert(0, new ListItem("", ""));
dataTable.Dispose();
database.Dispose();
}
{
string connStr=data.constr;
string SQL="SELECT * From DW";
SqlConnection conn=new SqlConnection(connStr);
SqlCommand comm=new SqlCommand(SQL,conn);
conn.Open();
SqlDataReader dr=comm.ExecuteReader();
SYDW.DataSource=dr;
SYDW.DataTextField="DWQC";
SYDW.DataValueField="DWNM";
SYDW.DataBind();
conn.Close();
}
使用这个都说为获取参数..
以前有人也这样问过
string strSql="SELECT 0 AS ID, '顶级分类' AS NAME "+
"UNION "+
"SELECT Id, Name "+
"FROM 分类表";
用上述SQL查询出一个DataView dv绑定到DropDownList ddl上,如下:
ddl.DataSource=dv;
ddl.DataTextFeild="Name";
ddl.DataValueFeild="Id";
ddl.DataBind();
根据select语句另起一个DataReader da=new DataReader 利用
wile(da.reader())
{
DropDownList1.Items.Add(da[0].toString)}
这样就可以了