问题描述
最近学习LINQ,用LINQ查询结果绑定到DataGridView很容易,只需要将DataGridView的DataSource设为LINQ对象即可。现在的问题是:1、如果不用表格,而是要将查询结果集与textbox等控件绑定,我该如何写textbox的绑定句子?具体如下:PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadDimaaAsNewWhInfoDataContextDimbb=FromsInaa.MemberInfo_BaseSelects.名称,s.年龄EndSub2、如果要新增一个记录并提交到数据库中,是不是图中两个textbox先不做绑定,等填完内容,压下保存按钮时,将其text值提交至LINQ?求具体代码。谢谢!
解决方案
本帖最后由 pldugz 于 2014-01-08 00:38:39 编辑
解决方案二:
textBox1.Text=bb.First().姓名textBox1.Text=bb.First().年龄
解决方案三:
DimaaAsNewWhInfoDataContextDimobjAsNew表名()obj.姓名=textBox1.Textobj.年龄=textBox2.Text'如果是整数,用Val(textBox2.Text)aa.MemberInfo_Base.Add(obj)aa.SaveChanges()
解决方案四:
感谢楼上的不吝赐教。不过1楼老师好象没理解我的意思。我是想把数据表中的字段,与窗体中对应的textbox控件绑定,而不是显示字段内容到控件。就是说,控件的数据源该如何与LINQ查询的各字段绑定?
解决方案五:
引用3楼pldugz的回复:
感谢楼上的不吝赐教。不过1楼老师好象没理解我的意思。我是想把数据表中的字段,与窗体中对应的textbox控件绑定,而不是显示字段内容到控件。就是说,控件的数据源该如何与LINQ查询的各字段绑定?
绑定属于WPF的范畴吧
解决方案六:
引用3楼pldugz的回复:
感谢楼上的不吝赐教。不过1楼老师好象没理解我的意思。我是想把数据表中的字段,与窗体中对应的textbox控件绑定,而不是显示字段内容到控件。就是说,控件的数据源该如何与LINQ查询的各字段绑定?
你返回List就可以绑定。设置下DataBinding、DataSource就可以。
解决方案七:
引用3楼pldugz的回复:
感谢楼上的不吝赐教。不过1楼老师好象没理解我的意思。我是想把数据表中的字段,与窗体中对应的textbox控件绑定,而不是显示字段内容到控件。就是说,控件的数据源该如何与LINQ查询的各字段绑定?
那么你是否先去理解自己所说的“控件的数据源”、针对TextBox控件而言是什么含义呢?在winform中,“绑定”是基于BindingSource之类来实现的,它就像一个桥梁把控件跟数据源进行双向对接。如果控件自身有什么数据源,可能你就不会用到这个工具了。
解决方案八:
privatevoidForm1_Load(objectsender,EventArgse){//Thexmltobindto.stringxml=@"<US><states>"+@"<state><name>Washington</name><capital>Olympia</capital></state>"+@"<state><name>Oregon</name><capital>Salem</capital></state>"+@"<state><name>California</name><capital>Sacramento</capital></state>"+@"<state><name>Nevada</name><capital>CarsonCity</capital></state>"+@"</states></US>";//Convertthexmlstringtobytesandloadintoamemorystream.byte[]xmlBytes=Encoding.UTF8.GetBytes(xml);MemoryStreamstream=newMemoryStream(xmlBytes,false);//CreateaDataSetandloadthexmlintoit.DataSetset=newDataSet();set.ReadXml(stream);//SettheDataSourcetotheDataSet,andtheDataMember//tostate.bindingSource1.DataSource=set;bindingSource1.DataMember="state";textBox1.DataBindings.Add("Text",bindingSource1,"name");textBox2.DataBindings.Add("Text",bindingSource1,"capital");}
可以加入一个BindingNavigator,他的BindingSource设置为bindingSource1,可以很简单的实现导航。