`
uule
  • 浏览: 6373585 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

GridView批量删除、全选 + TreeView+复选框

 
阅读更多

 

gridView批量删除实现方法

DataGridView的数据绑定

gridview、datalist、repeater、FormView、DetailsView的区别

 

GridView 72般绝技

Javascript 实现TreeView CheckBox全选效果

javascript 方法实现了TreeView的checkbox选中的效果

 

现成控件:ASTreeView

一、

GridView控件允许用户自己编辑模板,这样它就可以象以前混合编程一样任意的添加功能、定义格式等,对于大量记录来说如果一条一条的删除是件累人的工作。对其添加批量删除功能是件很自然的事。在进行工作之前,必须搞明白GridView主键的问题。

        1.GridView主键

           如果将数据源的所有东西都显示在GirdView中,不是件明智的事,最起码主键是应该隐藏的。这样在进行编辑时,也就不需要指定readonly等属 性,显示效果也会更理想(相信很多主键值应该是数字编号)。如果隐藏了主键(编辑列设置Visible=false),我们肯定没有办法获取使用类似于这 样的语句获取主键值GridView1.Rows[i].Cells[0].Text。在DataGrid时代这种方法是主流的。但是在GridView 中这种方法行不同,但是2.X提供了DataKeys和DataKeyNames属性,这比DataGrid更加方便。

          设定一个css样式.hidden{display:none},将其指定给主键的HeaderStyle、FooterStyle及ItemStyle的CssClass属性。那么主键列在运行时就不会被显示。在绑定数据源时需要指定GridView控件的主键:

          GridView1.DataSource = ds.Tables["Categories"];
        GridView1.DataKeyNames = new string[] { "CategoryID" };
          GridView1.DataBind();

          在使用时就很简单了:GridView1.DataKeys[i].Value.ToString(),该语句返回主键值,其中i为当前选中行的行号。现在就可以使用这种方法进行批量删除了。

 

        2.批量删除

          在进行批量删除时,需要一列选择框,让用户进行选择删除的条目。此时只需要在GridView的第一列或组后一列添加一 个<asp:TemplateField >列就可以了。在里面可以编辑模板添加需要的控件。具体的html代码如下所示。

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
              <Columns>
                <asp:TemplateField HeaderText="delete">
                      <ItemTemplate>
                          <asp:CheckBox    ID="del" runat="server" />
                      </ItemTemplate>
                  </asp:TemplateField>
                  <asp:BoundField DataField="CategoryID" HeaderText="编号" >
                    <ItemStyle CssClass="hidden" />
                      <HeaderStyle CssClass="hidden" />
                      <FooterStyle CssClass="hidden" />
                  </asp:BoundField>
                  <asp:BoundField DataField="CategoryName" HeaderText="产品类名" />
                  <asp:BoundField DataField="Description" HeaderText="描述信息" />
              </Columns>
              <HeaderStyle BackColor="#EDF7E7" Font-Bold="True" />
              <RowStyle BackColor="#F9F9F9" />
              <AlternatingRowStyle BackColor="White" />
          </asp:GridView>
          <br />
          <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="删除" />
          <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="全选" />

</div>

        3.删除前确认
         在这里使用Button1按钮进行删除任务,那在进行删除前需要用户进行最后确认,只需要在page_load事件中添加如下一行程序:
        Button1.Attributes.Add("onclick", "return confirm('are you sure?')");


       4.全选记录
          当用户单击Button2时,如果Text是全选,执行选中所有的行,并设定该按钮为取消,此时再次单击Button2,就取消所有选择。代码如下
      protected void Button2_Click(object sender, EventArgs e)
      {
          CheckBox cb;
          if (Button2.Text == "全选")
          {
              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = true;
              }
              Button2.Text = "取消";
          }
          else
          {
              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = false;
              }
              Button2.Text = "全选";
          }
      }
      其中del是CheckBox的ID值

 

        5.全部源码

public partial class delAll : System.Web.UI.Page
{
      protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              loadGridView();
          }
        Button1.Attributes.Add("onclick", "return confirm('are you sure?')");
      }
      protected void Button1_Click(object sender, EventArgs e)
      {
          string sql = "delete from Categories where";
          string cal = "";
          for (int i = 0; i < GridView1.Rows.Count; i++)
          {
              CheckBox cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
              if (cb.Checked==true)
              {
                  cal += " CategoryID=" + GridView1.DataKeys[i].Value.ToString() + " or";
              }
          }
        if (cal != "")
          {
              sql += cal.Substring(0, cal.Length - 3);
          }
          else
          {
            sql = "";//不删除
          }
        Response.Write(sql);//这里可以自己定义程序,进行删除任务
      }
      private void loadGridView()
      {
          string strconn = "server=localhost\\sqlexpress;database=Northwind;user id=rayshow;password=ray123";
          SqlConnection conn = new SqlConnection(strconn);
          DataSet ds = new DataSet();
          SqlDataAdapter da = new SqlDataAdapter("select * from Categories", conn);
          da.Fill(ds, "Categories");
          GridView1.DataSource = ds.Tables["Categories"];
        GridView1.DataKeyNames = new string[] { "CategoryID" };
          GridView1.DataBind();
      }
      protected void Button2_Click(object sender, EventArgs e)
      {
          CheckBox cb;
        if (Button2.Text == "全选")
          {

              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                  cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = true;
              }
              Button2.Text = "取消";
        }
          else
          {
              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                  cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = false;
              }
              Button2.Text = "全选";
        }
      }
}

运行效果图:



 

来源:http://hi.baidu.com/rayshow/item/84cf01d30759501c20e25075

 

 

二、取得GridView某行的DataKey

首先绑定DataKeyNames
GridView.DataKeyNames = new string[] { "字段名称" };
然后取值
string aaa= GridView.DataKeys[e.Row.RowIndex].Value.ToString();

1、在绑定时设置主键:
//设置主键;
        GridView1.DataKeyNames = new string[] { "id" };
        GridView1.DataBind();
2、获取键值:
 GridView1.DataKeys[e.Row.RowIndex].Value.ToString();

按钮事件里添加
string str_dk= GridView1.DataKeys[e.Row.RowIndex].Value.ToString();

如果GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),那么在为GridView绑定数据时对库表的每个记录的指定字段值要作出判断。

后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);

View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode) 的值。

若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。
  同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。

 

3、节点操作:

#region 递归设置父节点的checked属性
        private void SetParentTreeNodeStatus(TreeNode node)
        {
            TreeNode parentNode = node.Parent as TreeNode;
            if (parentNode != null)
            {
                if (node.Checked)
                {
                    parentNode.Checked = true;
                    SetParentTreeNodeStatus(parentNode);
                }
                else //被取消
                {
                    bool flag = false;
                    for (int i = 0; i < parentNode.Nodes.Count; i++)
                    {
                        if (parentNode.Nodes[i].Checked)
                        {
                            flag = true;
                            break;
                        }
                    }

                    if (flag)
                    {
                        parentNode.Checked = true;
                    }
                    else
                    {
                        parentNode.Checked = false;
                        SetParentTreeNodeStatus(parentNode);
                    }
                }
            }
            else //根节点
            {
                if (!node.Checked)
                {
                    UncheckNodeChildren(node); //取消其子项的选中状态
                }

            }
        }
        #endregion

 

.Net树复选框:

<ie:TreeView ID="ResourceTreeView" runat="server" AutoPostBack="true"
                    Width="100%" Height="100%" Style="border: 1px solid #A8CFEB; overflow: scroll;
                    height: 400px;" SystemImagesPath="../../webctrl_client/1_0/TreeImages/" ></ie:TreeView>        

 

treeview.htc:

function doCheckboxClick(el) {
    if (el.checked != event.srcElement.checked) {
        private_setAttribute(el, "checked", event.srcElement.checked);
    } else {
        el.checked = !el.checked;
    }
    var evt = createEventObject();
    evt.treeNodeIndex = getNodeIndex(el);
    g_nodeClicked = el;
    _tvevtCheck.fire(evt);
    setNodeState(el, el.getAttribute("checked"));
} 

// 
function _setChildNode(el, state) {
    var childNodes = el.children;
    if (childNodes.length > 0) {
        for (var i = 0; i <= childNodes.length - 1; i++) {
            if (childNodes[i].getAttribute("checked") != state) {
                if (childNodes[i].getAttribute("checked") != null || state == true) {
                    private_setAttribute(childNodes[i], "checked", state);
                    _saveCheckState(childNodes[i]);
                }
            }
            _setChildNode(childNodes[i], state);
        }
    }
}

function _setParentNode(el) {
    var parentNode = el.parentElement;
    if (parentNode) {
        if (!_checkSiblingdNode(el)) {
            if (parentNode.getAttribute("checked") != el.getAttribute("checked")) {
                private_setAttribute(parentNode, "checked", el.getAttribute("checked"));
                _saveCheckState(parentNode);
                _setParentNode(parentNode, el.getAttribute("checked"));
            }
        }
    }
}

function setNodeState(el, state) {
    _setChildNode(el, state);
    _setParentNode(el);
}

function _saveCheckState(el) {
    if (getNodeIndex(el)) queueEvent('oncheck', getNodeIndex(el));
}

function _checkSiblingdNode(el) {
    var parentNode = el.parentElement;
    for (var i = 0; i <= parentNode.children.length - 1; i++) {
        if (el != parentNode.children[i]) {
            if (private_getAttribute(parentNode.children[i], "checked")) {
                return true;
            }
        }
    }
    return false;
}

 保持TreeView父子节点的CheckBox节点状态一致的一种方法

TreeView父子联动效果保持节点状态一致

 操作TreeView节点CheckBox的小例子

 解决TreeView中使用JavaScript完成CheckBox全选的办法

 javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中

 

用javascript实现treeview上的checkbox的新发现

关于修改TreeView.htc的问题

改造 treeview.htc

Javascript 实现TreeView CheckBox全选效果

treeview和webctrl_client目录问题

 

Gridview编辑时显示dropdownlist 同时默认显示编辑前选项

 

<asp:TemplateField HeaderText="允许/禁止" ShowHeader="true" ItemStyle-Width="10%">
    <EditItemTemplate>
	<asp:DropDownList ID="ATTRIBUTE3" runat="server" Width="100%">
	    <asp:ListItem Value="1">允许</asp:ListItem>
	    <asp:ListItem Value="0">禁止</asp:ListItem>
	</asp:DropDownList>
    </EditItemTemplate>                                                    
    <ItemTemplate>
	<%# Eval("ATTRIBUTE3").ToString() == "1" ? "允许" : "禁止"%>	
	// <asp:Label ID="Label1" runat="server"><%# Eval("ATTRIBUTE3").ToString() == "1" ? "允许" : "禁止"%></asp:Label>
    </ItemTemplate>
</asp:TemplateField>
 
<asp:TemplateField HeaderText="允许/禁止" ShowHeader="true" ItemStyle-Width="10%">
	<EditItemTemplate>
		<asp:Label ID="Label2" runat="server" style="display:none;" Text='<%#Eval("ATTRIBUTE3") %>'></asp:Label> 
		<asp:DropDownList ID="ATTRIBUTE3" runat="server" Width="100%">
			<asp:ListItem Value="1">允许</asp:ListItem>
			<asp:ListItem Value="0">禁止</asp:ListItem>
		</asp:DropDownList>
	</EditItemTemplate>                                                    
	<ItemTemplate>                                                        
		<asp:Label ID="Label1" runat="server"><%# Eval("ATTRIBUTE3").ToString() == "1" ? "允许" : "禁止"%></asp:Label>
	</ItemTemplate>
</asp:TemplateField>
 Gridview编辑时显示dropdownlist 同时默认显示编辑前选项

 

ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子

gridview赋值

在GridView中加入DropDownList

  • 大小: 7.7 KB
分享到:
评论

相关推荐

    TreeView实现复选联动及GridView导出Excel

    联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置其所有子复选框为选中状态;取消选中指定的父复选框,则设置其所有子复选框为取消选中状态。如果某父复选框的所有子复选框为均选中状态,则设置该...

    asp.net操作Excel

    联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置其所有子复选框为选中状态;取消选中指定的父复选框,则设置其所有子复选框为取消选中状态。如果某父复选框的所有子复选框为均选中状态,则设置该...

    Asp.net 高级编程学习经验

    `CheckBoxList`是一个非常实用的控件,用于显示一组复选框供用户选择。在ASP.NET中,可以通过编程方式设置其选项和处理选中的项。 **配置示例:** ```xml ``` **处理选中的项:** ```csharp protected ...

    多目标白鲸优化算法MOBWO:在多目标测试函数中的实证与应用分析,多目标白鲸优化算法MOBWO的实证研究:在九个测试函数中的表现与评估,多目标白鲸优化算法MOBWO 在9个多目标测试函数中测试 Mat

    多目标白鲸优化算法MOBWO:在多目标测试函数中的实证与应用分析,多目标白鲸优化算法MOBWO的实证研究:在九个测试函数中的表现与评估,多目标白鲸优化算法MOBWO 在9个多目标测试函数中测试 Matlab语言 程序已调试好,可直接运行,算法新颖 1将蛇优化算法的优良策略与多目标优化算法框架(网格法)结合形成多目标蛇优化算法(MOSO),为了验证所提的MOSO的有效性,将其在9个多目标测试函数 (ZDT1、ZDT2、ZDT3、ZDT4、ZDT6、Kursawe、Poloni,Viennet2、Viennet3) 上实验,并采用IGD、GD、HV、SP四种评价指标进行评价,部分效果如图1所示,可完全满足您的需求~ 2源文件夹包含MOBWO所有代码(含9个多目标测试函数)以及原始白鲸优化算法文献 3代码适合新手小白学习,一键运行main文件即可轻松出图 4仅包含Matlab代码,后可保证原始程序运行~ ,多目标白鲸优化算法(MOBWO); 测试函数; Matlab语言; 程序调试; 算法新颖; 多目标蛇优化算法(MOSO); IGD、GD、HV、SP评价指标; 代码学习; 轻松出图。,基于

    【图像加密】基于matlab图像加密的混沌地图晶格系统的评估【含Matlab源码 9901期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像融合】基于matlab像素的多焦点和多光谱图像融合【含Matlab源码 7572期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    中国石油微服务开发REST API接口定义规范及其安全设计

    内容概要:本文介绍了在中国石油勘探开发梦想云平台上定义REST API接口的基本规范,旨在提高接口质量,便于开发、测试和维护。主要内容包括REST API的基础概念,设计流程,URI、HTTP方法及响应状态码的运用,API文档的管理以及Swagger工具的应用,还详细阐述了API安全认证,特别是JWT的应用。通过这份文档能够帮助开发者理解和实施高质量的微服务架构。 适用人群:适用于参与或计划参与微服务项目的开发团队,尤其是那些致力于提升REST API接口质量和效率的专业技术人员。 使用场景及目标:文档的目标在于引导用户理解REST API接口设计的关键要素,如资源命名、方法选择等,并教会他们如何有效管理和保护这些API,确保其稳定性和安全性。通过实践本指南的原则,用户可以构建出更加健壮的分布式应用程序接口。 其他说明:此外,文中提供了大量关于API文档生成与维护的最佳做法,强调了文档更新须与代码同步,同时也探讨了API变更管理的有效方法。在安全方面,重点讲述了JWT的构成及其工作机制,展示了利用JWT实现高效认证的具体实例。

    【电力变压器】基于matlab电力变压器能量限制【含Matlab源码 10013期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习多输入单输出时间序列预测的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:该文档详细介绍了基于双向长短期记忆(BiLSTM)神经网络与Adaboost集成学习的时间序列预测模型及其应用。文中阐述了项目背景,指出了传统LSTM在复杂数据下存在的局限,提出了通过BiLSTM增强前后依赖关系,并结合Adaboost优化模型精度与泛化能力的方法。全文涵盖了从数据预处理、特征提取到建模、评估、以及GUI设计在内的全过程,并展示了该模型在金融预测、气象预报、能源管理和生产调度等多个领域的广泛应用潜力。文章还包括对代码片段的具体解析、模型部署的考量及未来发展的展望。 适合人群:拥有基本的机器学习与神经网络基础的研究人员和技术开发者,尤其是那些正在寻找时间序列数据分析解决方案的专业人士。 使用场景及目标:1. 多个领域如金融市场、气象预测等的时间序列数据处理任务中;2. 解决传统单一神经网络可能出现的过拟合并优化模型的鲁棒性和准确性。 其他说明:除了详细讲解如何使用Matlab实施完整的BiLSTM和Adaboost集成外,文中还特别注意到了模型调优的重要性——通过超参数搜索、早停策略和其他正则化技巧以预防过拟合情况的发生。此外,文档还讨论了有关实时数据处理、模型安全性和可移植性的要点。附带完整的Matlab代码实现了从环境准备直到预测结果可视化的每一个步骤,使读者可以很容易地复现和定制整个工作流程。

    【重力仿真】基于matlab GUI水平圆柱体重力异常正演【含Matlab源码 11176期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Go语言1.24版本新特性详解与高性能博客系统miniblog实战项目

    内容概要:Go 1.24 版本引入了多项关键改进,其中包括:泛型类型别名,允许类型别名携带类型参数,简化代码实现;弱指针避免对象因包含在缓存中而无法被释放的问题;改进了终结器,提供了新的运行时函数 AddCleanup 以增强对象清理的灵活性和可靠性。另外,Go 1.24 改善了 map 的默认实现,显著提升了其运行时性能。与此同时,开源项目 miniblog 是一个功能全面、易于理解的 Go 实战项目。该项目采用了类似 Kubernetes 的三层架构设计,涵盖了许多 Go 项目开发的最佳实践和技术栈,不仅有助于开发者理解 Go 项目的核心理念和实施方法,还能提供一系列开发脚手架工具、配套课程和支持材料,以便更轻松地开展实际项目。 适合人群:1年以上 Go 开发经验的研发人员或正在寻找优秀 Go 项目充实自己简历的技术人员。 使用场景及目标:该总结的目标是帮助有一定 Go 基础的知识分子迅速了解新特性及其实用价值。miniblog 项目特别适用于希望加深对 Go 实践认识的学习者,尤其是那些想要通过参与实际编码练习和深入理解 Go 内部工作机制的人群。通过这两个方面的内容学习可以帮助使用者更好地理解 Go 新增特性的应用前景和发展方向,并能够在实践中灵活应用。 其他说明:本文档不仅涵盖了新特性的技术和理论要点,同时也展示了如何通过动手实践强化技能的具体例子。阅读本文不仅可以学到最新的 Go 编程技巧,还将了解到实际开发过程中面临的挑战及其解决方案。此外,还提供了一份详细的安装指导,以及一些常见的操作指南。对于新手而言,可以通过提供的完整配套资料逐步建立起个人的知识体系;而对于资深开发者,则可以在更高层次上审视自身项目的架构设计,进而推动技术创新和个人职业发展。

    智能对话机器人+deepseek+支持微信公众号、企业微信应用、飞书、钉钉接入+基于大模型的智能对话机器人,支持微信公众号、企业

    CoW项目是基于大模型的智能对话机器人,支持微信公众号、企业微信应用、飞书、钉钉接入,可选择GPT3.5/GPT4.0/Claude/Gemini/LinkAI/ChatGLM/KIMI/文心一言/讯飞星火/通义千问/LinkAI,能处理文本、语音和图片,通过插件访问操作系统和互联网等外部资源,支持基于自有知识库定制企业AI应用。 功能如下: 1、 多端部署: 有多种部署方式可选择且功能完备,目前已支持微信公众号、企业微信应用、飞书、钉钉等部署方式 2、 基础对话: 私聊及群聊的消息智能回复,支持多轮会话上下文记忆,支持 GPT-3.5, GPT-4o-mini, GPT-4o, GPT-4, Claude-3.5, Gemini, 文心一言, 讯飞星火, 通义千问,ChatGLM-4,Kimi(月之暗面), MiniMax, GiteeAI 3、 语音能力: 可识别语音消息,通过文字或语音回复,支持 azure, baidu, google, openai(whisper/tts) 等多种语音模型 4、 图像能力: 支持图片生等

    【车间调度】基于matlab哈里斯鹰算法HHO求解分布式置换流水车间调度DPFSP【含Matlab源码 6143期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像处理】颜色恒常性算法水下图像处理【含Matlab源码 474期】.md

    CSDN Matlab武动乾坤上传的资料均是完整代码运行出的仿真结果图,可见完整代码亲测可用,适合小白; 1、完整的代码内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像去噪】基于matlab中值滤波、均值滤波和非局部均值滤波NLM图像去噪【含Matlab源码 10364期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于LabVIEW的滚动轴承故障诊断系统:一种振动信号采集与故障诊断的实用设计与实践验证,基于LabVIEW的滚动轴承高效故障诊断系统设计与应用研究,基于LabVIEW的滚动轴承故障诊断系统. 实现对

    基于LabVIEW的滚动轴承故障诊断系统:一种振动信号采集与故障诊断的实用设计与实践验证,基于LabVIEW的滚动轴承高效故障诊断系统设计与应用研究,基于LabVIEW的滚动轴承故障诊断系统. 实现对滚动轴承工作状态的监测,提出了一种基于 Lab VIEW 的滚动轴承故障诊断系统的设计方案,给出了滚动轴承振动信号的采集与故障诊断方法,在 Lab VIEW 的诊断平台下进行信号处理与分析,然后结合滚动轴承故障诊断理论与信号分析结果来对该轴承运行状态进行判断。 最后利用旋转机械振动及故障模拟试验平台对该系统进行验证,验证结果体现了该系统具有可行性和适用性。 ,LabVIEW; 滚动轴承故障诊断系统; 振动信号采集; 故障诊断方法; 信号处理与分析; 验证测试; 可行性; 适用性,基于LabVIEW的滚动轴承故障诊断系统设计与验证

    Javascript语言视频教程.zip

    Javascript语言视频教程,涵盖Javascript语言基础和高级教程,零基础入门。

    在链表的前面-开头插入一个节点

    python在链表的前面-开头插入一个节点

    【图像融合】加权平均+HIS+高通滤波+灰度调制图像融合【含Matlab源码 8041期】.md

    CSDN Matlab武动乾坤上传的资料均是完整代码运行出的仿真结果图,可见完整代码亲测可用,适合小白; 1、完整的代码内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics