这是代码
DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)this.dataGrid1.TableStyles[0].GridColumnStyles[2]; //这里决定哪一列是ComboBox
ComboBox cmbFunctionArea = new ComboBox();
//这里如果你是绑定数据到ComboBox就写数据绑定得代码
cmbFunctionArea.Items.AddRange(new object[]{"选项一","选项二","选项三"});
cmbFunctionArea.Cursor = Cursors.Arrow;
//如果允许修改ComboBox中得内容的话,就改为ComboBoxStyle.DropDown
cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList;
cmbFunctionArea.Dock = DockStyle.Fill;cmbFunctionArea.SelectionChangeCommitted += new EventHandler(cmbFunctionArea_SelectionChangeCommitted1); dgtb.TextBox.Controls.Add(cmbFunctionArea); private void cmbFunctionArea_SelectionChangeCommitted1(object sender, EventArgs e)
{
this.dataGrid1[this.dataGrid1.CurrentCell] = ((ComboBox)sender).SelectedItem.ToString();
}我就是想将comboBox放入到dataGrid里面某个列中,
但是系统老是提示这一行
DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)this.dataGrid1.TableStyles[0].GridColumnStyles[2]; //这里决定哪一列是ComboBox错误提示:索引超出范围,必须为非负值并小于集合大小
请各位帮我看看
DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)this.dataGrid1.TableStyles[0].GridColumnStyles[2]; //这里决定哪一列是ComboBox
ComboBox cmbFunctionArea = new ComboBox();
//这里如果你是绑定数据到ComboBox就写数据绑定得代码
cmbFunctionArea.Items.AddRange(new object[]{"选项一","选项二","选项三"});
cmbFunctionArea.Cursor = Cursors.Arrow;
//如果允许修改ComboBox中得内容的话,就改为ComboBoxStyle.DropDown
cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList;
cmbFunctionArea.Dock = DockStyle.Fill;cmbFunctionArea.SelectionChangeCommitted += new EventHandler(cmbFunctionArea_SelectionChangeCommitted1); dgtb.TextBox.Controls.Add(cmbFunctionArea); private void cmbFunctionArea_SelectionChangeCommitted1(object sender, EventArgs e)
{
this.dataGrid1[this.dataGrid1.CurrentCell] = ((ComboBox)sender).SelectedItem.ToString();
}我就是想将comboBox放入到dataGrid里面某个列中,
但是系统老是提示这一行
DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)this.dataGrid1.TableStyles[0].GridColumnStyles[2]; //这里决定哪一列是ComboBox错误提示:索引超出范围,必须为非负值并小于集合大小
请各位帮我看看
看看TableStyles.Count是多少,
看看GridColumnStyles.Count是多少。
所以请各位帮我解决一下,怎样才能将comboBox放到dataGrid的某个列中,谢谢
如果用以上的方法,请教各位怎么从头开始帮定dataGrid,填充TableStyles,然后添加comboBox 谢谢
sb[0] = 'B';
sb[1] = 'l';这样会编译通过,但运行时也会出现同样的错误,我想可能是由于StringBuilder对下标运算符不允许这样的用法,而改成:
sb.Insert( 0, 'B' );
sb.Insert( 1, 'l' );
就可以。要么就是所谓的“数组越界”吧。
你初始化一个sb后,由于没有字符,所以sb的长度为0,但是sb[0]表示长度至少是1,这是矛盾的看下面的例子 StringBuilder sb = new StringBuilder(4);
sb.Append("ABCDEFG");
Response.Write(sb.Length.ToString());
sb[0] = 'R';
Response.Write("<br>"+sb.ToString());