如何让ListBox的DataTextField绑定两个数据字段
如题我想要把数据库里两个字段的内容加起来给ListBox的DataTextField。请问能实现么? --------------------编程问答-------------------- 取数据的时候用SQL语句合并,select published+author bookinfo from your_table
假设都是字符类型,其他类型要做下转换 --------------------编程问答-------------------- 在数据库中把两个字段合并成一个字段。 --------------------编程问答-------------------- 你只能在你的SQL上先加好了,然后再去绑定 --------------------编程问答-------------------- 在sql语句里就把它加在一起就行了啊。 --------------------编程问答-------------------- 或者一行行的绑定也行。 --------------------编程问答-------------------- 你在存储过程(或sql)里把两个字段处理后加个别名不就行了 --------------------编程问答-------------------- 可以啊,你可以在查数据库时,将两个字段连接直接查出结果
如:select a+b as c from table
将查询结果c直接绑定给ListBox的DataTextField
也可以,单独查出数据后将其拼好后在绑定 --------------------编程问答-------------------- select publishe + '|' + dauthor as KeyField from your_table
--------------------编程问答-------------------- 但是现在是我是通过别人给我的接口返回了一个DataView,这样该怎么办啊 --------------------编程问答-------------------- 我能在这个DataView创建一个新的列么?让我需要的两个列并接起来 --------------------编程问答-------------------- 完了。沉了 --------------------编程问答-------------------- 可以,例如用Eval("字段1").ToString() + Eval("字段2").ToString()。 --------------------编程问答-------------------- 我能在这个DataView创建一个新的列么?让我需要的两个列并接起来
========>
可以一行一行的加。
用Items.Add
也可以拼起来。
DataView.Table.Columns.Add("NewCol",typeof(string),"列1+列2");
绑定newCol就可以了。
--------------------编程问答-------------------- for(int i=0;i<DataSet.Tables[0].Rows.Count;i++)
{
ListItem a =new ListItem();
a.Text=DataSet.Tables[0].Rows[i]["第一字段"].ToString()+DataSet.Tables [0].Rows[i]["第二个字段"].ToString();
ListBox1.Controls.Add(a);
} --------------------编程问答-------------------- 如果不想在数据库里面把字段合并,就按照上面的方法做把 --------------------编程问答-------------------- ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconcreatingusingdataviews.htm
察看msdn帮助了
有一个DataRowView 的对象来读取DataView视图里面的行了
用foreach来枚举视图所有的行数据
DataView catView = new DataView(catDS.Tables["Categories"]);
Console.WriteLine("Current Values:");
WriteView(catView);
Console.WriteLine("Original Values:");
catView.RowStateFilter = DataViewRowState.ModifiedOriginal;
WriteView(catView);
public static void WriteView(DataView myView)
{
foreach (DataRowView myDRV in myView)
{
for (int i = 0; i < myView.Table.Columns.Count; i++)
Console.Write(myDRV[i] + "\t");
Console.WriteLine();
}
}
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconmodifyingdatausingdataview.htm
使用AddNew() 和 EndEdit() 添加一行 DataRowView
DataTable custTable = custDS.Tables["Customers"];
DataView custView = custTable.DefaultView;
custView.Sort = "CompanyName";
custView.AllowDelete = false;
DataRowView newDRV = custView.AddNew();
newDRV["CustomerID"] = "ABCDE";
newDRV["CompanyName"] = "ABC Products";
newDRV.EndEdit();
知道如何枚举视图元素以及如何编辑元素,把两列的数据合并成一列也很简单的了。和DataTable操作差不多,只不过是名字不同而已 --------------------编程问答-------------------- --------------------编程问答-------------------- sql语句把两个字段拼接一下
select 字段一+字段二 as 新字段名称 from 表名
DataTextField=新字段名称 --------------------编程问答-------------------- 好像也只能在sql中绑定吧 --------------------编程问答-------------------- 人家都说了 是接口返回了一个DataView 楼下的人还说用sql 易做图啊 循环DataView 增加一个新列 --------------------编程问答-------------------- select publishe + '| ' + dauthor as KeyField from your_table
--------------------编程问答-------------------- 原来07年的帖子也可以这么火!~
补充:.NET技术 , ASP.NET