在GridView中绑定多列下拉框的方法如下:
1. 在GridView的模板列中添加下拉框控件。可以使用`TemplateField`或`BoundField`模板列。
2. 在`TemplateField`中,使用`ItemTemplate`来定义下拉框控件的外观,例如:
```asp
```
3. 在`BoundField`中,使用`EditItemTemplate`来定义编辑模式下的下拉框控件的外观,例如:
```asp
```
4. 在GridView的`RowDataBound`事件中,为每个下拉框控件绑定数据源,并设置默认选中的值,例如:
```csharp
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddlColumn1 = (DropDownList)e.Row.FindControl("ddlColumn1");
// 绑定数据源
ddlColumn1.DataSource = YourDataSource;
ddlColumn1.DataTextField = "YourTextField";
ddlColumn1.DataValueField = "YourValueField";
ddlColumn1.DataBind();
// 设置默认选中的值
string column1Value = DataBinder.Eval(e.Row.DataItem, "Column1").ToString();
ddlColumn1.SelectedValue = column1Value;
}
}
```
5. 在GridView的`RowEditing`事件中,将对应行的下拉框控件设置为编辑模式,例如:
```csharp
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
```
6. 在GridView的`RowUpdating`事件中,获取编辑后的下拉框的值,例如:
```csharp
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
// 获取编辑后的下拉框的值
DropDownList ddlColumn1 = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlColumn1");
string column1Value = ddlColumn1.SelectedValue;
// 更新数据
// ...
}
```
7. 在GridView的`RowCancelingEdit`事件中,取消编辑模式,例如:
```csharp
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}
```
通过以上步骤,就可以在GridView中绑定多列下拉框了。