datagrid 列头加txtbox并动态赋值,列为checkbox赋值二法,datagrid用DIV动态加滚动条。

1.   列头加txtbox并动态赋值

先在列上加绑定列,打开绑定列,在header里加textbox.

private   void  dg_allItemList_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType == ListItemType.Header)
            
{
                ((TextBox)e.Item.FindControl(
"txt_CostCCContract")).Text = ViewState["currContr"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_orderFrom")).Text = ViewState["currContr"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_LP")).Text = ViewState["currContr"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_LPInhouse")).Text = ViewState["inhouse"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_SP")).Text = ViewState["currContr"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_SPInhouse")).Text = ViewState["inhouse"].ToString();
                ((TextBox)e.Item.FindControl(
"txt_SD")).Text = ViewState["currContr"].ToString();
            }

        }

2. 列为checkbox赋值二法

if (coItemInfo.Tables[ 0 ].Rows[i][ " ACK_PRT_FLG " ].ToString().Trim() == " 1 " )
                
{
                    ((CheckBox)
this.dg_itemList.Items[i].FindControl("chkPRT")).Checked=true;
                }

                
else
                
{
                    ((CheckBox)
this.dg_itemList.Items[i].FindControl("chkPRT")).Checked=false;
                }
< asp:TemplateColumn  HeaderText ="Tokuchu Flag" >
                                                    
< ItemTemplate >
                                                        
< asp:CheckBox  id =Checkbox4  runat ="server"  Enabled ="False"  Checked ='<%#DataBinder.Eval(Container.DataItem,"toku_spec_flg").ToString() ==  "1"% > '>
                                                        
</ asp:CheckBox >
                                                    
</ ItemTemplate >
                                                
</ asp:TemplateColumn >

3.datagrid用DIV加滚动条。只要DIV的宽度小于DATAGRID的宽度就行。

  < asp:panel  id =pnl_receiptItemInfo  runat ="server"  Width ="100%" >
< TABLE  cellSpacing =0  cellPadding =0  width ="95%"  align =center  border =0 >
  
< TR >< TD >< DIV  id =div1  style ="OVERFLOW-Y: hidden; OVERFLOW-X: scroll; OVERFLOW: auto; WIDTH: 99%" >
< asp:datagrid  id =dg_allItemList  runat ="server"  CssClass ="Datagrid"  Width ="130%"  AutoGenerateColumns ="False"  AllowPaging ="True"   >
                                    
< FooterStyle  CssClass ="dgdFooter" ></ FooterStyle >
                                    
< SelectedItemStyle  CssClass ="dgdSelectedItem" ></ SelectedItemStyle >
                                    
< EditItemStyle  CssClass ="dgdEditItem" ></ EditItemStyle >
                                    
< ItemStyle  CssClass ="dgdItem" ></ ItemStyle >
                                    
< HeaderStyle  Wrap ="False"  CssClass ="dgdHead" ></ HeaderStyle >
                                    
< Columns >

 如果想动态的加滚动条,例如当items大于10时才加:

 

cs;
private   void  dg_RecItem_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if ( this.dg_RecItem.Items.Count > 10 )
            
{
                
if (! IsStartupScriptRegistered("SetDivHeight"))
                
{
                    Page.RegisterStartupScript(
"SetDivHeight""<script>document.getElementById('divDataGrid').style.height = '350px';</script>");
                }

            }

        }

        
html:
        
< TABLE  class = " table "  id = " Table11 "  cellSpacing = " 0 "  cellPadding = " 0 "  width = " 95% "  align = " center "
                    border
= " 0 " >
                    
< TR align = " center " >
                        
< TD align = " center " >
                            
< DIV id = " divDataGrid "  style = " OVERFLOW-Y: auto " >
                                
< asp:datagrid id = " dg_RecItem "  runat = " server "  CssClass = " DataGrid "  Width = " 98% "  AutoGenerateColumns = " False " >
                                    
< SelectedItemStyle CssClass = " dgdSelectedItem " ></ SelectedItemStyle >
                                    
< EditItemStyle CssClass = " dgdEditItem " ></ EditItemStyle >
                                    
< ItemStyle CssClass = " dgdItem " ></ ItemStyle >
                                    
< HeaderStyle Wrap = " False "  CssClass = " dgdHead " ></ HeaderStyle >
                                    
< Columns >
                                    ...

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过easyui的datagrid的onBeforeEdit事件和combobox的loadData方法来实现根据不同的列数据载不同的combobox下拉框,并初始化下拉框的值。具体实现步骤如下: 1. 在HTML中定义datagrid和combobox列,并设置combobox作为该列的编辑器: ```html <table id="dg" class="easyui-datagrid" data-options="url:'datagrid_data.json',singleSelect:true,fitColumns:true,rownumbers:true,onBeforeEdit:onBeforeEdit"> <thead> <tr> <th field="id" width="50">Id</th> <th field="name" width="50">Name</th> <th field="category" width="50" editor="{type:'combobox',options:{valueField:'id',textField:'name',onLoadSuccess:loadComboData}}">Category</th> </tr> </thead> </table> ``` 2. 在JavaScript中定义combobox的loadComboData方法,该方法用于根据不同的列数据载不同的combobox选项,并初始化选中值: ```javascript function loadComboData() { var opts = $(this).combobox('options'); var url = 'combo_data.json'; var colName = opts.textField; var rowData = $('#dg').datagrid('getSelected'); if (rowData) { var colData = rowData[colName]; url += '?category=' + encodeURIComponent(colData); $(this).combobox('reload', url); } } ``` 3. 在JavaScript中定义datagrid的onBeforeEdit事件,该事件用于在编辑之前设置combobox的初始值: ```javascript function onBeforeEdit(index, row) { var colName = arguments[2]; var ed = $(this).datagrid('getEditor', { index: index, field: colName }); if (ed) { var opts = $(ed.target).combobox('options'); var colData = row[colName]; var url = 'combo_data.json?category=' + encodeURIComponent(colData); $.getJSON(url, function (data) { opts.onLoadSuccess(data); $(ed.target).combobox('setValue', row[opts.valueField]); }); } } ``` 上述代码中,onBeforeEdit事件用于在编辑之前设置combobox的初始值,loadComboData方法用于根据不同的列数据载不同的combobox选项,并初始化选中值。其中,combo_data.json文件中存储了所有的combobox选项列表,根据不同的列数据来动态载相应的选项列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值