再来50分,datagrid里的问题,高手请进
有一datagrid,
其中一:
<asp:TemplateColumn HeaderText= " ">
<HeaderStyle Width= "40px "> </HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "ywdesp ")%>
</ItemTemplate>
<EditItemTemplate>
<asp:dropdownlist ID= "yk " runat= "server ">
<asp:listitem Value= "0 " Text= "其它 "/>
<asp:listitem Value= "1 " Text= "一 "/>
<asp:listitem Value= "2 " Text= "二 "/>
<asp:listitem Value= "3 " Text= "外 "/>
<asp:listitem Value= "4 " Text= "行 "/>
</asp:dropdownlist>
</EditItemTemplate>
</asp:TemplateColumn>
在非,示“其它”, "一 ", "二 ", "外 ", "行 "之的,但我想在,是“其它”yk(DropDownList)的SelectedIndex=0, "一 "SelectedIndex=1,......
但我用下面代,行不成功,忙,!
public void gridUserItemDataBound(object sender,DataGridItemEventArgs e)
{
if(e.Item.ItemType!=ListItemType.Header)
{
switch(e.Item.Cells[3].Text)
{
case "其它 ":
deptIndex=0;
break;
case "一 ":
deptIndex=1;
break;
case "二 ":
deptIndex=2;
break;
case "外 ":
deptIndex=3;
break;
case "行 ":
deptIndex=4;
break;
}
if(e.Item.ItemType==ListItemType.EditItem)
{
DropDownList myddl=(DropDownList)e.Item.FindControl( "yk ");
myddl.SelectedIndex=deptIndex;
}
}
}
[解决办法]
public void gridUserItemDataBound(object sender,DataGridItemEventArgs e)
{ int deptIndex;
if(e.Item.ItemType!=ListItemType.Header)
{
switch(dt.rows[e.item.itemindex].[你的字段名 "])
{
case "其它 ":
deptIndex=0;
break;
case "一 ":
deptIndex=1;
break;
case "二 ":
deptIndex=2;
break;
case "外 ":
deptIndex=3;
break;
case "行 ":
deptIndex=4;
break;
}
if(e.Item.ItemType==ListItemType.EditItem)
{
DropDownList myddl=(DropDownList)e.Item.FindControl( "yk ");
myddl.SelectedIndex=deptIndex;
}
}
}
[解决办法]
//int deptIndex;
> > > > > try:
public int deptIndex
{
get {return (int)ViewState[ "deptIndex "];}
set {ViewState[ "deptIndex "]= value;}
}
[解决办法]
e.Item.Cells[3].Text在编辑状态下已经取不到了
这个问题前几天我也遇到过,我是这样处理的,可以参考下
dropdownlist的tooltip绑定编辑前的值:
<asp:dropdownlist ID= "yk " runat= "server " ToolTip= ' <%# DataBinder.Eval(Container.DataItem, "ywdesp ")%> '>
<asp:listitem Value= "0 " Text= "其它 "/>
<asp:listitem Value= "1 " Text= "一 "/>
<asp:listitem Value= "2 " Text= "二 "/>
<asp:listitem Value= "3 " Text= "外 "/>
<asp:listitem Value= "4 " Text= "行 "/>
</asp:dropdownlist>
后台: switch(yk.ToolTip)