|
1、声明 ComboBox ComBoxPsMode;
2、绑定配送模式下拉框
/// <summary>
/// 绑定配送模式下拉框
/// </summary>
private void BindComPsMode()
{
dataPSModeType = eCMyModule.eCMyData.SimpleExecuteDataSet("select PSMODEID,PSMODEMC from eCWMPSModeType ORDER BY PSModeID");//ComboBox数据源
ComBoxPsMode.Items.Clear();
for (int i = 0; i < dataPSModeType.Tables[0].Rows.Count; i++)
{
ComBoxPsMode.Items.Add(dataPSModeType.Tables[0].Rows[i]["PSMODEID"].ToString().Trim() + ":" + dataPSModeType.Tables[0].Rows[i]["PSMODEMC"].ToString().Trim());
}
}
3、ComBox的项改变后赋给单元格
private void ComBoxPsMode_SelectedIndexChanged(object sender, EventArgs e)
{
int k = ComBoxPsMode.SelectedIndex;
if (k > -1)
{
dGVeCSpYWXX.CurrentCell.Value = ComBoxPsMode.Items[k].ToString().Trim();
}
}
4、点datagridview后执行
if ((this.dGVeCSpYWXX.CurrentCell.ReadOnly == false) && (this.dGVeCSpYWXX.Columns[dGVeCSpYWXX.CurrentCell.ColumnIndex].Name.Trim() == "PSModeType"))
{
this.ComBoxPsMode.SelectedIndex = this.ComBoxPsMode.Items.IndexOf(dGVeCSpYWXX.Rows[dGVeCSpYWXX.CurrentCell.RowIndex].Cells["ColPsModeID"].Value.ToString().Trim() + ":" + dGVeCSpYWXX.Rows[dGVeCSpYWXX.CurrentCell.RowIndex].Cells["PSModeType"].Value.ToString().Trim()); //对combobox赋值
Rectangle R = dGVeCSpYWXX.GetCellDisplayRectangle(dGVeCSpYWXX.CurrentCell.ColumnIndex, dGVeCSpYWXX.CurrentCell.RowIndex, false); //获取单元格位置
ComBoxPsMode.SetBounds( R.X + dGVeCSpYWXX.Location.X-5 , R.Y + dGVeCSpYWXX.Location.Y-5 , R.Width, R.Height); //重新定位combobox.中间有坐标位置的转换
ComBoxPsMode.Visible = true;
ComBoxPsMode.Focus();
}
else
{
ComBoxPsMode.Visible = false;
}
5、窗体构造
public RevisionGoodsInfo()
{
InitializeComponent();
ComBoxPsMode = new ComboBox();
ComBoxPsMode.Name = "ComBoxPsMode";
ComBoxPsMode.SelectedIndexChanged+=new EventHandler(ComBoxPsMode_SelectedIndexChanged);
ComBoxPsMode.Visible = false;
ComBoxPsMode.DropDownStyle = ComboBoxStyle.DropDownList;
dGVeCSpYWXX.Controls.Add(ComBoxPsMode);
} (责任编辑:admin) |