你在vs.net中搞一个DataGrid然后在它的“属性生成器”设置一下就可以了,
可以多使用模板.

解决方案 »

  1.   

    就是在里面找不到~如果可以找到我也没问题了,如果能在代码里能指定不是更明确吗?虽然可以在你所谓的"属性生成器"里指定一些属性,但我的确没找到相关的。是否可以麻烦帮我找找,多谢。比如第三个问题的答案就已找到。
    GridColumnStylesCollection colStyle;
    colStyle = datagrid.TableStyles[0].GridColumnStyles;
    colStyle[3].ReadOnly    = true;
    但第一、第二个问题呢?
      

  2.   

    如下:
    <asp:datagrid id="EditGrid" runat="server" Width="100%" BorderStyle="None" DataKeyField="name" AllowCustomPaging="True" AutoGenerateColumns="False" AllowSorting="True" CellPadding="3" BackColor="White" BorderColor="#E7E7FF" BorderWidth="1px" GridLines="Horizontal">
    <SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
    <EditItemStyle Font-Size="9pt"></EditItemStyle>
    <AlternatingItemStyle Font-Size="9pt" BackColor="#F7F7F7"></AlternatingItemStyle>
    <ItemStyle Font-Size="9pt" ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
    <HeaderStyle Font-Size="9pt" HorizontalAlign="Center" ForeColor="#F7F7F7" BackColor="#31659C"></HeaderStyle>
    <FooterStyle Font-Size="9pt" ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
    <PagerStyle Font-Size="9pt" HorizontalAlign="Right" ForeColor="#4A3C8C" BackColor="Cornsilk" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
    其中:
    <HeaderStyle Font-Size="9pt" HorizontalAlign="Center" ForeColor="#F7F7F7" BackColor="#31659C"></HeaderStyle>
    里的HorizontalAlign属性可以设置标题居中、靠左、靠右
    第2个问题我不太清楚你讲的是什么。
      

  3.   

    我们说的是WIN Application !
    第一点仍是不得解~
    第二点的意思是说:datagrid默认总是有最后一个空行,可以在这一空行中增加新数据.是否可以去除这一行,或不显示这一行!?
      

  4.   

    我们说的是WIN Application !
    第一点仍是不得解~
    第二点的意思是说:datagrid默认总是有最后一个空行,可以在这一空行中增加新数据.是否可以去除这一行,或不显示这一行!?
      

  5.   

    1、很奇怪,既然第3个问题解决了,为什么第1个问题没有解决呢?在你的VS环境里,选中你需要修改的DataGrid,点击TableStyles属性旁边的小按钮,出来“DataGridTableStyle集合编辑器”,在里面添加一个新的TableStyle,在这个TableStyle的属性中,有个GridColumnStyle集合,再修改这个集合中的元素,就能指定你的DataGrid每一列的属性了。2、如果需要对你的DataGrid进行比较大量的定制,建议将DataGrid的数据源设置成DataView,而不是DataTable或者DataSet。DataView dv=new DataView(dataTable1);
    dv.AllowNew=false;//这一句使得不能添加新列。
    dataGrid1.DataSource=dv;关于DataView的更多用法,请参考MSDN Lib中的“.NET 框架开发者指南   创建和使用 DataView”
      

  6.   

    多谢(vegetablebird)第二个问题稍作修改成如下代码已解决,grid中也随着不出玩什么空行了,分数稍后奉上。
    //dg1.SetDataBinding (myDataSet,"查询表");//以前的绑定。改为下面!
    DataView dv=new DataView(myDataSet.Tables["testtable"]);
    dv.AllowNew=false;      //这一句使得不能添加新列。
    dv.AllowDelete = false; //这一句使得不能删除列。
    dg1.DataSource=dv;可第一个问题,老大那里面就是没有呀~
    GridColumnStylesCollection colStyle;
    colStyle = datagrid.TableStyles[0].GridColumnStyles;
    colStyle[3].ReadOnly    = true;
    colStyle[3].Alignment   //对齐,但是是列内容,并不是列头。
    colStyle[3].HeaderText  //可设列头文本内容。
    但为什么偏偏没有列头文本的对齐属性呢?那一位兄台实现过,可指点下?另:(失败到这个岁数还在当流氓) ,真本事呀,能当流氓到这么大年纪,与其说失败不如说是成功,我看至少可以申请个什么吉尼斯世界纪录什么的了吧。
      

  7.   

    只是列头的文本恐怕有点麻烦。现在能够想到的方法只有从DataGridColumnStyle继承,重载它的Paint方法(两个多态的Paint方法都要重载,好累啊:<)另:申请吉尼斯世界记录是没指望了,唉,前面有克林顿顶着呢……而且如果去申请“会用C#的高龄流氓”这个记录估计他们不让。
      

  8.   

    估计是没招了,太苦的事现在没空做,也只好这样了,反证不是很主要的东东.
    但!很难想象微软唯一的数据表格竟会没有一个如此简单而可大增加美观的属性!!!
    感受就象"微软"了,怎么能让人满足~~真TMD让人难受!