问题二.哪位能发个源程序来学学吗?谢谢啊 [email protected]
解决方案 »
- 这个问题有点生疏不知怎么弄请教..(生成的html文件)
- 怎么能把textbox的值读取为html?
- 求Jmail 4.4 pro
- ADO.NET与ORACLE数据库连接的语句代码
- Dataset 查询的问题?
- 如何让xmlhttp对象将数据加载完之后在显示页面?
- url重写排除子目录
- .net应用程序(B/S)运行时还需要.NET环境吗,在线急等
- DataGrid中数据绑定问题(asp.net(C#))
- 如何实现如麦网页面分类跳转的效果
- ***很急::怎样才能让HtmlInputFile这个控件不能输入?只能从选择文件的对话框中选好文件后自动输入?
- 求ComponentOne Studio for * 2004 Q2系列哪里有下载?急急急急急急!!!
<ItemTemplate>
<%# Container.DataSetIndex + 1 %>
</ItemTemplate>
放进来了,说 System.Web.UI.WebControls.DataGridColumnCollection must have items of type 'System.Web.UI.WebControls.DataGridColumn'. 'ItemTemplate' is of type 'System.Web.UI.HtmlControls.HtmlGenericControl'.
加了<%@ import Namespace="System.Web.UI" %>也不行
[email protected]
engBudget.DataBind();for(int i=0 ;i<engBudget.Items.Count;i++){
engBudget.Items[i].Cells[0].Text=(i+1).ToString(); //序号
switch(engBudget.Items[i].Cells[1].Text=="1"){
case 0:
{
engBudget.Items[i].Cells[1].Text=="被取消";
break;
}
case 1:
{
engBudget.Items[i].Cells[1].Text=="未派车";
break;
}
......... }
}
<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>Parser Error Message: File or assembly name Microsoft.Web.UI.WebControls, or one of its dependencies, was not found.是什么问题?
{
e.Item.Cells[0].Text=Convert.ToString(e.Item.ItemIndex+1);
}if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
string iszt=(string)DataBinder.Eval(e.Item.DataItem,"ztzt");
switch(iszt)
{
case "0":
e.Item.Cells[8].Text="未执行";
break;
case "1":
e.Item.Cells[8].Text="正在执行中";
break;
case "2":
e.Item.Cells[8].Text="已停止";
break;
}
}
DIM i as integer
Dim ls_text as String
For i = 0 To DataGrid_Query.Items.Count - 1
ls_text = cstr( i + 1)
DataGrid_Query.Items(i).Cells(0).Text= ls_text '序号
ls_text = DataGrid_Query.Items(i).Cells(19).Text
select case ls_text
case "0"
DataGrid_Query.Items(i).Cells(19).Text = "被取消"
case "1"
DataGrid_Query.Items(i).Cells(19).Text = "未派车"
case "2"
DataGrid_Query.Items(i).Cells(19).Text = "已派车"
case "3"
DataGrid_Query.Items(i).Cells(19).Text = "费用已确认"
case "4"
DataGrid_Query.Items(i).Cells(19).Text = "已审核"
end select
Next
是一个控件,.net本身没有的,你没有引用它,当然出错咯!我怎么也不觉得你是老程序员了,一些基本的知识是相通的阿?
首先,序号的产生依赖于循环,消耗了资源,牺牲了速度
其次,DataGrid_Query.Items(i).Cells(19).Text = "已派车" ,这样列的ID固定了,那如果下次修改了这个列的位置,又要改这里了.这样不利于维护.
...
给这个 DataTable 添加一列
dt.Columns.Add("newcolumn1", typeof(string));
然后给增加的列赋值
foreach(DataRow dr in dt.Rows)
{
switch(dr["..."])
{
case 0:
dr["newcolumn1"] = "被取消";
break;
case 1:
dr["newcolumn1"] = "未派车";
break;
...
}
}这样做还是要使用循环,不过一般datagrid都显示不了几条信息,最多一般也就几十条,循环的消耗应该还是不大的。另外也可以使用不产生循环消耗的办法
写一个静态函数,比如写在一个叫 BaseClass 的类里面,
public static string ShowStatus(int i)
{
switch(i)
{
case 0:
return "被取消";
break;
...
怎么写不用说了吧。然后把datagrid中的一列设置成模板绑定,插入一个Label,绑定其Text属性,BaseClass.ShowStatus(int.Parse(DataBinder.Eval(Container.DataItem, "...").ToString()));
就可以了。页面文件也许需要导入名称空间以便访问BaseClass,使用Import就可以了。这样不会产生循环的消耗,但是会产生函数调用的消耗,似乎没有一个十全十美的办法:)
<%#GetState(DataBinder.Eval(e.Item.DataItem,"fBillStatus"))%>然后在代码里面写
public string GetState(string s)
{}
然后在代码里面写
public string GetState(string s)
{
string s="";
if(s=="1")
s="状态1"
else(s=="2")
s="状态2";
//....类推
return s;
}