ComboBox a = new ComboBox();
Fill.List(a);//在这个方法里把ComboBox绑上了数据for(int i=0;i<10;i++)
{
ComboBox t = new ComboBox();
t = a;
}ComboBox v = new ComboBox();
v = a;为什么显示出来的控件v上有绑定的值,,,,在循环里创建的就都没有呢还不显示。。为什么
Fill.List(a);//在这个方法里把ComboBox绑上了数据for(int i=0;i<10;i++)
{
ComboBox t = new ComboBox();
t = a;
}ComboBox v = new ComboBox();
v = a;为什么显示出来的控件v上有绑定的值,,,,在循环里创建的就都没有呢还不显示。。为什么
解决方案 »
- 求教。将Excel文件导入DataTable中,然后绑定到GridView中。
- 求助
- 请教关于事务的问题:TransactionScop与数据库的事务的性能的差距
- Sql Server2005 亂碼問題
- GDI+发生一般性错误
- 加载Xml出错,在线等
- C# visual studio 2012调用matlab2013a生成的dll文件时说里面的类出错--“类型初始值设定项引发异常
- DataGrid.RenderControl写到一个excel文件里,怎么保证格式?
- 创建好了windows服务,并为其制作了安装包,但在进行安装时为什么总要输入用户名及密码,使用系统用户无效。
- 属羊的到这里来领分!!!!
- 能够在TextBox中实现文字滚动的效果吗?
- 在cs文件中写js,怎样调用asp控件
c.Location = new System.Drawing.Point(0,0);
c.Size = new System.Drawing.Size(150, 20);
c.Text = "aaaaaaaaaaa";
for(int i=0;i<3;i++)
{
ComboBox a = c;
a.Location = new System.Drawing.Point(0,i*25);
this.Controls.Add(a);
}
这是测试的例子,就出来一个,,哪个老大指点一下
{
ComboBox t = new ComboBox();
t = a;
}
這樣可以嗎?
for(int i = 0 ; i < 10 ; i++)
{
ComboBox t[i] = new ComboBox();
t[i] = a;
}
這樣吧,要不你new了10個一樣的ComboBox有什麼用呢?
在循環中還要加上這句,剛才忘記寫了,這樣才是10個實例化呀。
ComboBox c = new ComboBox();
c.Location = new System.Drawing.Point(0,0);
c.Size = new System.Drawing.Size(150, 20);
c.Text = "aaaaaaaaaaa";
ComboBox[] a = new ComboBox[3];
for(int i=0;i<3;i++)
{
a[i] = new ComboBox();
a[i].Location = new System.Drawing.Point(5*i,i*25);
this.Controls.Add(a[i]);
}
試試這個,我已經測試好了。可以的。
for(int i=0;i<3;i++)
{
TextBox a = new TextBox();
a.Location = new System.Drawing.Point(0,i*25);
this.Controls.Add(a);
}这样怎么能出来三个
c.Size = new System.Drawing.Size(150, 20);
c.Text = "aaaaaaaaaaa";
ComboBox[] a = new ComboBox[3];
for(int i=0;i<3;i++)
{
a[i] = c;/////哥们是这,,,,
a[i].Location = new System.Drawing.Point(5*i,i*25);
this.Controls.Add(a[i]);
}
C#中除了int,bool,string等为简单类型外
其他所有的class都是引用类型
引用类型使用赋值操作实际赋的是内存地址,即“浅拷贝”
只有简单类型使用赋值操作才是赋变量的值,即“深拷贝”例
ComboBox a = new ComboBox();
ComboBox t = new ComboBox();
t = a ;
则 t和a指向同一块内存区域
即使是
ComboBox a = new ComboBox();
for(int i=0;i<10;i++)
{
ComboBox t = new ComboBox();
t = a ;
}
结果仍然是所有的t指向同一个a
解决方法可以试试
for(int i=0;i<10;i++)
{
ComboBox t = new ComboBox();
Fill.list(t);
}
为什么在控件这块它就显示1个。。
TMD烦死我了
ComboBox t = new ComboBox();
t = a;//这一步把前面的new的操作全部抵消了就相当于
ComboBox t = a;如果你的目的是把所有的combobox绑定同一个数据源的话,你需要手动逐个绑定。
只是当前的selectindex不一样
如果在循环里为每个新创建的combobox绑定datatableDataTable dt = GetData();for(int i=0;i++;i<dt.Rows.Count)
{
ComboBox c = new ComboBox();
c.DataSource = dt;
........
}
像上面这样的话,,
在窗口中选中其中一个combobox,改变它的selectIndex的时候,,,循环创建的combobox全都跟着动烦死了所以我就想用这个办法DataTable dt = GetData();
ComboBox a = new ComboBox();
a.DataSource = dt;
.....
for(int i=0;i++;i<dt.Rows.Count)
{
ComboBox c = a;
........
}
但是就出来最后一个。。
DataTable dt = GetData();
for(int i=0;i++;i<dt.Rows.Count)
{
ComboBox c = new ComboBox();
c.DataSource = dt;
........
}
像上面这样的话,,
在窗口中选中其中一个combobox,改变它的selectIndex的时候,,,循环创建的combobox全都跟着动你设数据源的方式不对,你应该用DataView去设置,就不会出现联动,例如:
DataTable dt = GetData();
for(int i=0;i++;i<dt.Rows.Count)
{
ComboBox c = new ComboBox();
c.DataSource = new DataView(dt);
........
}
DataColumn dc = new DataColumn( "EmployeeID", typeof(int) );
dtTree.Columns.Add( dc );
// Set primary key column
dtTree.PrimaryKey = new DataColumn[]{dc};dtTree.Columns.Add( new DataColumn( "EmployeeName", typeof(string) ) );
dtTree.Columns.Add( new DataColumn( "Age", typeof(int) ) );
dtTree.Columns.Add( new DataColumn( "Salary", typeof(double) ) );
dtTree.Columns.Add( new DataColumn( "Address", typeof(string) ) );
dtTree.Columns.Add( new DataColumn( "EmpParentID", typeof(int) ) );// Add records into table
//'0' is that the type has no parent
dtTree.Rows.Add( new object[]{1, "Parent1",30, 2000,"***", 0} );
dtTree.Rows.Add( new object[]{2, "Parent2",30, 2000,"***", 0} );
dtTree.Rows.Add( new object[]{3, "Parent3",32, 2000,"***", 0} );dtTree.Rows.Add( new object[]{4, "Child1",25, 1400,"***", 1} );
dtTree.Rows.Add( new object[]{5, "Child2",27, 1600,"***", 1} );
dtTree.Rows.Add( new object[]{6, "Child3",27, 1600,"***", 2} );dtTree.Rows.Add( new object[]{7, "GrandChild1",23, 1200,"***", 4} );
dtTree.Rows.Add( new object[]{8, "GrandChild2",23, 1200,"***", 4} );
dtTree.Rows.Add( new object[]{9, "GrandChild3",22, 1200,"***", 5} );comboBox1.DataSource = new DataView( dtTree );
comboBox1.DisplayMember = "EmployeeName";
comboBox1.ValueMember = "EmployeeID";for( int i = 0; i < 5; i++ )
{
ComboBox cmbNew = new ComboBox();
cmbNew.Location = new Point( 100, 140 + 40 * i );
cmbNew.DataSource = new DataView( dtTree );
cmbNew.DisplayMember = "EmployeeName";
cmbNew.ValueMember = "EmployeeID";
this.Controls.Add( cmbNew );
}