if you are using BoundColumn or related class, you can always change their DataField propertyif you are using TemplateColumn, then chang the binding in ItemDataBound, for example <asp:DataGrid id="ItemsGrid" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" ShowFooter="true" OnItemDataBound="Item_Bound"><Columns> <asp:TemplateColumn> <ItemTemplate> <asp:TextBox id="txt" runat="server" /> </ItemTemplate> </asp:TemplateColumn> ....string YourColumnName = ...; //change it 根据下拉菜单中的选项void Item_Bound(Object sender, DataGridItemEventArgs e) {
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="true"
OnItemDataBound="Item_Bound"><Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox id="txt" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
....string YourColumnName = ...; //change it 根据下拉菜单中的选项void Item_Bound(Object sender, DataGridItemEventArgs e)
{
if((e.Item.ItemType == ListItemType.Item) ||
(e.Item.ItemType == ListItemType.AlternatingItem))
{ TextBox tb = (TextBox)e.Item.FindControl("txt");
tb.Text = DataBinder.Eval(e.Item.DataItem,YourColumnName).ToString();
}
}