<p dir="auto">Checkboxes generated by a  with the displayRowCheckbox field set to <code class="notranslate">true</code> (default option) inherit their <code class="notranslate">disabled</code> prop from the 's <code class="notranslate">this.prop.selectable</code>, rather than from the generated 's <code class="notranslate">selectable</code> property. Below is the relevant code from the <code class="notranslate">master</code> branch:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="//line 209:
 createRowCheckboxColumn(rowProps) {
    if (!this.props.displayRowCheckbox) {
      return null;
    }

    const name = `${rowProps.rowNumber}-cb`;
    const disabled = !this.props.selectable; /////////////// should be something like !rowProps.selectable, this.props inherits from the &lt;TableBody&gt; instead of being set row-by-row

    return (
      &lt;TableRowColumn
        key={name}
        columnNumber={0}
        style={{
          width: 24,
          cursor: disabled ? 'default' : 'inherit',
        }}
      &gt;
        &lt;Checkbox
          name={name}
          value=&quot;selected&quot;
          disabled={disabled}  
          checked={rowProps.selected}
        /&gt;
      &lt;/TableRowColumn&gt;
    );
  }"><pre lang="{js}" class="notranslate"><code class="notranslate">//line 209:
 createRowCheckboxColumn(rowProps) {
    if (!this.props.displayRowCheckbox) {
      return null;
    }

    const name = `${rowProps.rowNumber}-cb`;
    const disabled = !this.props.selectable; /////////////// should be something like !rowProps.selectable, this.props inherits from the &lt;TableBody&gt; instead of being set row-by-row

    return (
      &lt;TableRowColumn
        key={name}
        columnNumber={0}
        style={{
          width: 24,
          cursor: disabled ? 'default' : 'inherit',
        }}
      &gt;
        &lt;Checkbox
          name={name}
          value="selected"
          disabled={disabled}  
          checked={rowProps.selected}
        /&gt;
      &lt;/TableRowColumn&gt;
    );
  }
</code></pre></div>


<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/mui-org/material-ui/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>

<p dir="auto">When making a  with the selectable property set to false, the <code class="notranslate">disabled</code> property of the generated checkbox should be true.</p>
<h2 dir="auto">Current Behavior</h2>

<p dir="auto">This successfully makes only rows without the text "None" select-able, and rows that display "None" can't be checked. We want checkboxes that are not selectable to be disabled as well, row-by-row, but right now all checkboxes are enabled.</p>
<h2 dir="auto">Steps to Reproduce (for bugs)</h2>

<p dir="auto">I tried my best:</p>
<p dir="auto"><a href="https://codesandbox.io/s/y3x71n11j1" rel="nofollow">https://codesandbox.io/s/y3x71n11j1</a></p>
<p dir="auto">I have <em>no</em> idea why this codepen sample isn't working.</p>
<ol dir="auto">
<li>Make a Table with a TableBody</li>
<li>Its children will be mapped from an array into  objects</li>
<li>Set the <code class="notranslate">selectable</code> property of the  objects to false</li>
<li>The checkboxes generated won't be selectable, but they won't have the <code class="notranslate">disabled</code> property.</li>
<li>Using dev tools, set the same  to be <code class="notranslate">selectable=false</code>, and it sets <code class="notranslate">disabled=true</code> for every checkbox</li>
</ol>
<h2 dir="auto">Context</h2>
<p dir="auto">We're trying to make a checklist where each row can only be checked if a boolean value is <code class="notranslate">true</code>.  So, we're making something like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;TableBody displayRowCheckbox={true}&gt;
   {ourData.map((ourRowData) =&gt;
    (&lt;TableRow selectable={ourRowData.text !== &quot;None&quot;}&gt;
        &lt;TableRowColumn&gt;{ourRowData.text}&lt;/TableRowColumn&gt;
    &lt;/TableRow&gt;))}
&lt;/TableBody&gt;
"><pre lang="{js}" class="notranslate"><code class="notranslate">&lt;TableBody displayRowCheckbox={true}&gt;
   {ourData.map((ourRowData) =&gt;
    (&lt;TableRow selectable={ourRowData.text !== "None"}&gt;
        &lt;TableRowColumn&gt;{ourRowData.text}&lt;/TableRowColumn&gt;
    &lt;/TableRow&gt;))}
&lt;/TableBody&gt;

</code></pre></div>
<p dir="auto">This successfully makes only rows without the text "None" select-able, and rows that display "None" can't be checked. We want checkboxes that are not selectable to be disabled as well, row-by-row, but right now all checkboxes are enabled.</p>
<p dir="auto">However, if we set selectable={false} in the  using developer tools, the whole table's checkboxes become disabled.</p>
<p dir="auto">I think the best way to go would be with</p>
<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Material-UI</td>
<td>0.2</td>
</tr>
<tr>
<td>React</td>
<td>15.6.1</td>
</tr>
<tr>
<td>browser</td>
<td>Chrome    63.0</td>
</tr>
<tr>
<td>etc</td>
<td></td>
</tr>
</tbody>
</table>
<p dir="auto">When building apps that use the date picker for choosing an old date like "birthday", I often hear complaints about it taking forever to go so far back in time. These people obviously don't realize they can select the year by clicking on the year in the title area. An option for just <strong>starting on the year picker</strong> though would make this component much more useful for such historic dates, especially for the less tech-savvy.</p>
<p dir="auto">If not that, then perhaps it can be made a little more obvious that clicking on the year takes you to the year picker? An edit icon or something?</p>
<p dir="auto">I'd be happy to make a pull request if others agree this would be a useful addition. Thanks!</p>