当前位置: 首页 > 编程语言 > C#

根据数据表的flag列在运行时改变下拉项的背景色asp.net分享

时间:2023-04-10 15:14:10 C#

数据表asp.net我有一个下拉cboVendor,其中供应商名称即将到来我希望背景颜色为红色,其fullyAgg列(dt包含11列,其中fullagg是第11列)将为零。目前我正在按照下面的代码所示进行操作,但它正在将所有这些归零(这不应该发生).aspx-选择供应商-c#代码DataTabledt=default(DataTable);cboVendor.DataSource=dt;cboVendor.DataTextField="供应商名称";cboVendor.DataValueField="SupplierID";cboVendor.DataBind();cboVendor.SelectedIndex=0;foreach(ListItemitemincboVendor.Items){if(dt.Rows(10)("fullyAgg")==0){item.Attributes.Add("style","background-color:red;");}}找到解决方案DataViewdv=dt.DefaultView;dv.RowFilter="fullyAgg=0";foreach(DataRowViewdrindv){foreach(ListItemitemincboVendor.Items){if(dr("SupplierID").ToString()==item.Value.ToString()){item.Attributes.Add("style","背景色:红色;");你可以试试这个:foreach(ListItemitemincboVendor.Items){//选择与当前下拉项对应的行varselectedRow=frommyRowindt.AsEnumerable()wheremyRow.Field("SupplierID")==item.ValueselectmyRow;//检查选定行的fullyAgg列if(selectedRow("fullyAgg")==0){item.Attributes.Add("style","background-color:red;");}}几个问题:if(dt.Rows(10)("fullyAgg")==0){第一:你没有迭代,你每次都在比较相同的值第二:row(10)没有给你第11列(行列!!!)第三:在cboVender_ItemDataBound函数中(处理cboVender.ItemDataBound)创建一个foreach(一个正确的),这样你就可以从那里访问项目的属性编辑:How?->你试过我说的了吗?以上是C#学习教程:根据数据表asp.net的标志列运行中不定时更改下拉项的背景色,分享所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注—privatevoidcboVender_ItemDataBound(objectsender,System.Web.UI.WebControls.RepeaterItemEventArgse){if((e.Item.ItemType==ListItemType.Item)){rowIndex=e.Item.ItemIndex;//这里有你的行号,你可以访问该列的值,为所欲为}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: