当前位置:编程学习 > C#/ASP.NET >>

如何让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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,