我用WebGrid显示DataSet的内容,因为有婚姻这一个字段,在表中是用0表示未婚、1表示已婚。在显示的时候我想根据表中字段的内容直接显示中文,我看帮助中Column中有ValueList属性,我设置了其中的值,但发现只有编辑的时候显示下拉框,选择后才显示汉字,而在刚DataBind时就显示0或1。该怎样设置才能实现我这样的要求,希望能给出详细一点的解答,谢谢!!!
解决方案 »
- 如何在datagrid中显示treeview中所选中的内容
- 在框架中怎样做得折叠、展开左边框架??
- 一个page 读取多个table 哪种性能速度好些?
- 如何用.net开发一个跟踪用户点击网页连接(连接标题)的程序
- 开发时,添加Web窗体时能否做到在添加.aspx文件时,不产生.aspx.cs文件。
- 大虾们帮帮小弟,怎样才能读到Panel 中 嵌套的控件 中 的控件的值
- ——————在问,关于datalist的嵌套,谢谢
- datagrid控件批量修改
- 请问怎么才用水晶报表呢
- 页面刷新问题,在线等待。。。。。。。。
- 为什么在javascript代码中,没有控件的属性了?
- 几个问题,请教大家,能解决一个是一个。
data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add("0","未婚");
data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add("1","已婚");如果是数值型的data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add(0,"未婚");
data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add(1,"已婚");
比如说: select case 婚姻 when 0 then 未婚 when 1 then 已婚 end case
在设计器中应该都是字符型的
Page_Load()里加这个
data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add(0,"未婚");
data.Columns.FromKey("Receiver").ValueList.ValueListItems.Add(1,"已婚");private void dataMedia_InitializeRow(object sender, Infragistics.WebUI.UltraWebGrid.RowEventArgs e)
{
e.Row.Cells.FromKey("Receiver").Value=Convert.ToInt32(e.Row.Cells.FromKey("Receiver").Value);}
private void dataMedia_InitializeRow(object sender, Infragistics.WebUI.UltraWebGrid.RowEventArgs e)
{
e.Row.Cells.FromKey("Receiver").Value=Convert.ToInt32(e.Row.Cells.FromKey("Receiver").Value);}
是因为你的那一列的Key值不是"Receiver"
e.Row.Cells.FromKey("Receiver").Value
中的"Receiver"是那一列的Key值
jywwm(Wind),我的程序自认为没什么问题,我把我的测试程序贴出来,你帮我看看问题的所在:
1)在WebForm1.aspx中定义了控件,并定义一列[编号],KEY为ID,绑定ID字段 <igtbl:UltraWebGrid id="UltraWebGrid1" style="Z-INDEX: 102; LEFT: 40px; POSITION: absolute; TOP: 14px"
runat="server" Height="200px" Width="325px">
<DisplayLayout RowHeightDefault="20px" Version="3.00" BorderCollapseDefault="Separate" Name="UltraWebGrid1">
<AddNewBox>
<Style BorderWidth="1px" BorderStyle="Solid" BackColor="LightGray"><BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White">
</BorderDetails> </Style>
</AddNewBox>
<Pager>
<Style BorderWidth="1px" BorderStyle="Solid" BackColor="LightGray"><BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White">
</BorderDetails> </Style>
</Pager>
<HeaderStyleDefault BorderStyle="Solid" BackColor="LightGray">
<BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White"></BorderDetails>
</HeaderStyleDefault>
<FrameStyle Width="325px" BorderWidth="1px" Font-Size="8pt" Font-Names="Verdana" BorderStyle="Solid"
Height="200px"></FrameStyle>
<FooterStyleDefault BorderWidth="1px" BorderStyle="Solid" BackColor="LightGray">
<BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White"></BorderDetails>
</FooterStyleDefault>
<EditCellStyleDefault BorderWidth="0px" BorderStyle="None"></EditCellStyleDefault>
<RowStyleDefault BorderWidth="1px" BorderColor="Gray" BorderStyle="Solid">
<Padding Left="3px"></Padding>
<BorderDetails WidthLeft="0px" WidthTop="0px"></BorderDetails>
</RowStyleDefault>
</DisplayLayout>
<Bands>
<igtbl:UltraGridBand>
<Columns>
<igtbl:UltraGridColumn HeaderText="编号" Key="ID" BaseColumnName="ID"></igtbl:UltraGridColumn>
</Columns>
</igtbl:UltraGridBand>
</Bands>
</igtbl:UltraWebGrid>2)在WebForm1.aspx.cx中
在Page_Load中
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
UltraWebGrid1.Columns.FromKey("ID").ValueList.ValueListItems.Add(0,"已婚");
UltraWebGrid1.Columns.FromKey("ID").ValueList.ValueListItems.Add(1,"未婚");
System.Data.DataTable dt=new DataTable();
System.Data.DataColumn dc=dt.Columns.Add();
dc.ColumnName="ID";
dc.DataType=typeof(short);
System.Data.DataRow dr=dt.NewRow();
dr["ID"]=1;
dt.Rows.Add(dr);
UltraWebGrid1.DataSource=dt;
UltraWebGrid1.DataBind();
}在InitializeRow中
private void UltraWebGrid1_InitializeRow(object sender, Infragistics.WebUI.UltraWebGrid.RowEventArgs e)
{
e.Row.Cells.FromKey(ID).Value=Convert.ToInt32(e.Row.Cells.FromKey(ID).Value);
}
谢谢
<igtbl:UltraGridColumn HeaderText="编号" Key="ID" Type="DropDownList" BaseColumnName="ID" ></igtbl:UltraGridColumn>
改成这样
select case 婚姻 when 0 then '未婚' when 1 then '已婚' end from table