从datagridview组合框列中选择项时,在datagridview文本框列中获取数据 [英] get data in datagridview textbox column when item selected from datagridview combobox column
本文介绍了从datagridview组合框列中选择项时,在datagridview文本框列中获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有datagridviewcomboBox列和datagridviewTextbox列的datagridview。组合框列包含产品,当我选择产品时,产品代码应出现在产品表的textbox列中。我已经将组合框中的数据绑定但不能在文本框列中显示数据。
I have a datagridview with datagridviewcomboBox column and datagridviewTextbox column.the combobox column contains products and when i select a product, the product code should appear in textbox column from product table.I have already binded the data in combobox but not able to display data in textbox column.
我怎么能这样做..请帮助
how Can I do this.. Please Help
推荐答案
在Gridview RowCommand中,你得到下拉值为
DropDownList test =(DropDownList)e .Row.FindControl( DropDown1); //查找下拉控件
string value = test.SelectedItem.Value;
TextBox test1 =(TextBox)e.Row.FindControl(textbox1); //查找文本框控件
string value1 = test1.Text;
In Gridview RowCommand you have get the dropdown values as
DropDownList test= (DropDownList)e.Row.FindControl("DropDown1"); //Finding Dropdown control
string value = test.SelectedItem.Value;
TextBox test1= (TextBox)e.Row.FindControl("textbox1"); //Finding textbox control
string value1=test1.Text;
<pre>Gridview Markup
<asp:TemplateField HeaderText="Address">
<EditItemTemplate><asp:TextBox ID="txtEAddress" Width="100px" runat="server" Text='<%# Bind("Address") %>'></asp:TextBox><asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged"><asp:ListItem>4</asp:ListItem><asp:ListItem>3</asp:ListItem><asp:ListItem>2</asp:ListItem><asp:ListItem>1</asp:ListItem></asp:DropDownList></EditItemTemplate><ItemTemplate><asp:Label ID="Label3" runat="server" Text='<%# Bind("Address") %>'></asp:Label></ItemTemplate><FooterTemplate><asp:TextBox ID="txtAddress" runat="server" Width="100px" TextMode="MultiLine"></asp:TextBox></FooterTemplate></asp:TemplateField>
代码背后
Code Behind
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
GridViewRow row = (GridViewRow)ddl.Parent.Parent;
int idx = row.RowIndex;
TextBox txtECustCode = (TextBox)row.Cells[0].FindControl("txtECustCode");
string _text1 = txtECustCode.Text.ToString();
}
对于Windows应用程序
For Windows Application
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
// first remove event handler to keep from attaching multiple:
cb.SelectedIndexChanged -= new
EventHandler(cb_SelectedIndexChanged);
// now attach the event handler
cb.SelectedIndexChanged += new
EventHandler(cb_SelectedIndexChanged);
}
}
void cb_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Selected index changed");
}
这篇关于从datagridview组合框列中选择项时,在datagridview文本框列中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文